将Word,PDF文档转化为图片
#region 将Word文档转化为图片
/// <summary>
/// 将Word文档转化为图片
/// </summary>
/// <param name="wordpath">需要转换的word文档的全路径</param>
public void Word_Convert2Image(string wordpath)
{
//第一步:将Word文档转化为Pdf文档(中间过程)
Aspose.Words.Document doc = new Aspose.Words.Document(wordpath);
//生成的pdf的路径
string Pdfpath = Server.MapPath("images") + "Word2Pdf.pdf";
doc.Save(Pdfpath, Aspose.Words.SaveFormat.Pdf); //生成中间文档pdf //第二部:开始把第一步中转化的pdf文档转化为图片
int i = ;
Aspose.Pdf.Document pdfDocument = new Aspose.Pdf.Document(Pdfpath);
while (i <= pdfDocument.Pages.Count)
{
if (!string.IsNullOrEmpty(Pdfpath))
{
GetImage(Pdfpath, i);
GC.Collect(); //回收内存
}
i++;
}
//图片转化完成之后,删除中间过程产生的pdf文档
if (File.Exists(Pdfpath))
File.Delete(Pdfpath);
}
#endregion
#region 将pdf转化为图片
/// <summary>
/// 将PDF 相应的页转换为图片
/// </summary>
/// <param name="strPDFpath">PDF 路径</param>
/// <param name="Page">需要转换的页页码</param>
private void GetImage(string strPDFpath, int Page)
{
GC.Collect();
string strSavePath = Server.MapPath("images");
byte[] ImgData = GetImgData(strPDFpath, Page);
MemoryStream ms = new MemoryStream(ImgData, , ImgData.Length);
Bitmap returnImage = (Bitmap)Bitmap.FromStream(ms);
string picName=string.Format("{0}_{1}.jpg", CreatePicName(),Page);
string strImgPath = Path.Combine(strSavePath, picName); //图片名称可在此修改
returnImage.Save(strImgPath);
returnImage.Dispose();
ms.Dispose();
AddImage(Page, picName); //将图片添加到数据库
}
/// <summary>
/// 从PDF中获取首页的图片
/// </summary>
/// <param name="PDFPath">PDF 文件路径</param>
/// <param name="Page">需要获取的第几页</param>
/// <returns></returns>
private byte[] GetImgData(string PDFPath, int Page)
{
System.Drawing.Image img = PDFView.ConvertPDF.PDFConvert.GetPageFromPDF(PDFPath, Page, , "", true);
return GetDataByImg(img);//读取img的数据并返回
}
/// <summary>
/// 将单页的PDF转换为图片
/// </summary>
/// <param name="_image"></param>
/// <returns></returns>
private byte[] GetDataByImg(System.Drawing.Image _image)
{
System.IO.MemoryStream Ms = new MemoryStream();
_image.Save(Ms, System.Drawing.Imaging.ImageFormat.Jpeg);
byte[] imgdata = new byte[Ms.Length];
Ms.Position = ;
Ms.Read(imgdata, , Convert.ToInt32(Ms.Length));
Ms.Close();
return imgdata;
}
#endregion
将Word,PDF文档转化为图片的更多相关文章
- 第一节:python提取PDF文档中的图片
由于项目需要将PDF文档当中的图片转换成图片,所以参考了这篇文章https://blog.csdn.net/qq_15969343/article/details/81673302后项目得以解决. 1 ...
- PDF文档转PNG图片 c++(转载)
PDF文档转PNG图片 c++,例子是转载的,忘记出处了.被我收集起来了. 链接:https://pan.baidu.com/s/1iuxDHibQnvx0UYJ5m25NAg 密码:5o0c
- java实现MsOffice文档向pdf文档转化
本篇文档实现功能,将word和ppt文档的文件转化成pdf格式的文档 应用到jacob 第一步:下载压缩包 (1)jacob官网下载jacob压缩包 (2)网址:http://sourceforge. ...
- php解析word,获得文档中的图片
背景 前段时间在写一个功能:用原生php将获得word中的内容并导入到网站系统中.因为文档中存在公式,图片,表格等,因此写的比较麻烦. 思路 大体思路是先将word中格式为doc的文档转化为docx, ...
- iOS - 开发中加载本地word/pdf文档说明
最近项目中要加载一个本地的word/pdf等文件比如<用户隐私政策><用户注册说明>,有两种方法加载 > 用QLPreviewController控制器实现 步骤 : & ...
- 如何使用免费PDF控件从PDF文档中提取文本和图片
如何使用免费PDF控件从PDF文档中提取文本和图片 概要 现在手头的项目有一个需求是从PDF文档中提取文本和图片,我以前也使用过像iTextSharp, PDFBox 这些免费的PD ...
- 常用PDF文档开发库
C++库: 1,PDF类库 PoDoFo http://podofo.sourceforge.net/ PoDoFo 是一个用来操作 PDF 文件格式的 C++ 类库.它还包含一些小工具用来解析 ...
- Apache PDFbox开发指南之PDF文档读取
转载请注明来源:http://blog.csdn.net/loongshawn/article/details/51542309 相关文章: <Apache PDFbox开发指南之PDF文本内容 ...
- Aspose.Words操作word生成PDF文档
Aspose.Words操作word生成PDF文档 using Aspose.Words; using System; using System.Collections.Generic; using ...
随机推荐
- Python之路,第三篇:Python入门与基础3
1, 布尔运算符 运算符; not and or not 运算符: 作用:逻辑取反 语法: not 表达式 例: not True # False not Fa ...
- skflow 分类与回归接口API 简单测试
skflow也即是 tf.contrib.learn, 是 TensorFlow 官方提供的另外一个对 TensorFlow 的高层封装,通过这个封装,用户可以和使用 sklearn 类似的方法使用 ...
- Keepalived 进程无法关闭
操作系统:SLES12sp2 keepalived版本:1.2.12 问题描述: 使用命令"systemctl stop keepalived" 无法关闭keepalived,使用 ...
- Promise-js中的同步和异步
js中的同步和异步 自从读了研后,走上了学术之路,每天除了看论文就是做实验,最后发现自己还是喜欢开发呀,于是我又重回前端啦~ 隔了这么久没学前端,好像很多东西都忘了不少,而且不得不说前端的技术更新 ...
- 第一天 hello world
二进制编译工具生成img软盘执行文件 二进制编译工具https://pan.baidu.com/s/1j3wAsFxTLWv17V55iNKJJw 利用Bz.exe工具写操作系统自启程序: 前0000 ...
- c# 敏捷3 连接,批量处理,分页
class Program { public class post { public int id { get; set; } public string name { get; set; } pub ...
- CentOS下如何根据Dump文件分析线上问题
https://blog.csdn.net/lixin03080/article/details/79711296 一.保存现场 1.记录系统整体资源使用情况,进程信息.线程信息 top -b -n ...
- 浮动IP(FLOAT IP)
主要谈一谈关于浮动IP的东西,介绍下浮动IP是什么 1.为什么要有浮动IP这个东西 现在有一个场景,在一台Linux上部署一个web应用,应用跑在tomcat里面,linux网卡上的ip是 ...
- golang-test-tool-gotests
gotests介绍 gotests是一个Golang命令行工具 ,让Go测试变得容易.它根据目标源文件的函数和方法签名生成表驱动的测试(TDD).任何测试文件中新的依赖都会被自动倒入 Demo 下面是 ...
- openresty 集成 keycloak-oauth-oidc
keycloak 是一个比较全,而且比较方便的sso 解决方案,同时为我们提供了灵活的扩展特性 备注: 测试使用docker-compose 运行,对于keycloak 使用pg 数据库做为后端存储 ...