.NET操作PDF与IMAGE互转的简单方法

首先,需要两个工具Z:1.itextsharp.dll;2.gswin32c.exe(依赖gsdll32.dll)

第一个库用于将图片生成到PDF文件

第二个工具用于解析PDF文件成图片

生成PDF文件代码如下:

/// <summary>
        /// 将图片生成到PDF文件
        /// </summary>
        /// <param name="targetFile">目标文件</param>
        /// <param name="images">图片源</param>
        /// <param name="pageWidth">期望的PDF页面宽度</param>
        /// <param name="pageHeight">期望的PDF页面高度</param>
        public void Save(string targetFile,List<string> images,int pageWidth,int pageHeight)
        {
            var document = new Document();
            try
            {
                document.SetPageSize(new Rectangle(0, 0, pageWidth, pageHeight));
                document.SetMargins(0, 0, 0, 0);
                PdfWriter.GetInstance(document, new FileStream(targetFile, FileMode.Create));
                document.Open();

foreach (var imageFile in images)
                {
                    Image wmf = Image.GetInstance(imageFile);
                    wmf.ScaleAbsolute(pageWidth, pageHeight);
                    document.Add(wmf);
                }
            }
            finally
            {
                document.Close();
            }
        }

解析PDF文件需要把工具复制到安装目录下,代码如下:

/// <summary>
        /// 解析PDF文件为图片列表
        /// </summary>
        /// <param name="fileName">待解析的PDF文件</param>
        /// <param name="tempDir">临时目录</param>
        /// <returns></returns>
        public static void Resolve(string fileName, string tempDir)
        {
            List<string> imageList = new List<string>();

//此工具对PDF文件名要求为英文
            var newFileName = tempDir + "\\" + Guid.NewGuid() + Path.GetExtension(fileName);
            File.Copy(fileName, newFileName);
            fileName = newFileName;

string name = Path.GetFileNameWithoutExtension(fileName);
            string folder = tempDir + "\\" + Guid.NewGuid() + "\\";
            string outputPath = folder;
            Directory.CreateDirectory(outputPath);
            outputPath = outputPath + name + "-" + "%08d.jpg";

var info = new ProcessStartInfo
            {
                CreateNoWindow = true,
                WindowStyle = ProcessWindowStyle.Hidden,
                WorkingDirectory = Path.Combine(AppDomain.CurrentDomain.SetupInformation.ApplicationBase, "PDF"),

       //设置命令行参数
                Arguments = "-dSAFER -dBATCH -dNOPAUSE -r150 -sDEVICE=jpeg -dGraphicsAlphaBits=4 -sOutputFile=" +
                            "\"" + outputPath + "\"" + " " + "\"" + fileName + "\"",
                FileName = @"gswin32c.exe"
            };

var subProcess = new Process { StartInfo = info };
            subProcess.Start();
            subProcess.WaitForExit(int.MaxValue); 
        }

Over.

时间: 2024-12-17 03:27:03

.NET操作PDF与IMAGE互转的简单方法的相关文章

pdf文档在线翻译的简单方法有哪些?

pdf文档在线翻译的简单方法有哪些?当pdf文件需要在线翻译的时候我们可以将准备好的pdf文件进行在线翻译,下面就让小编给大家简单介绍一下. 步骤一:我们可以直接进入到迅捷PDF在线转换器在线网站中进行翻译即可,但是进入到在线网站我们需要在浏览器上进行搜索进入: 步骤二:进入之后可以在导航栏中找到文档处理中的PDF在线翻译:步骤三:我们可以直接进行自定义选择,自定义一下设置转换,然后进行文件的选择:步骤四:上传文件的时候直接将pdf文件点击上传到界面中或者是直接选择文件进行上传即可:步骤五:等文

pdf文档在线旋转的简单方法有哪些?

pdf文档在线旋转的方法很简单,将一些pdf文件准备好然后进行旋转,下面小编就给大家简单介绍一下将pdf文件在线旋转的方法. 步骤一:想要将pdf文件进行在线旋转的方法,我们可以直接在浏览器上进行搜索进入到迅捷PDF在线转换器在线网站中去: 步骤二:在网站的首页找到文档处理中的pdf旋转,找到之后就可以进行文件的转换:步骤三:进入之后可以选择自定义设置,将文件的自定义设置一下:步骤四:然后将pdf文件直接点击选择到界面中去,或是直接点击选择文件进行上传:步骤五:等文件上传完成之后就可以进行点击开

ITEXT操作PDF

ITEXT操作PDF,非常简单: (本方法使用itext1.0.4版本,高版本的itext5.5.0同样兼容,改变一下导入包路径就好了) 1,HELLOWORLD项目 package demo; import java.io.FileOutputStream;     import java.io.IOException;     import com.lowagie.text.Document;     import com.lowagie.text.DocumentException;   

itext操作pdf文件

itext操作pdf模板: 1.首先使用excel制作好模板文件,将模板文件转换为pdf格式文件. 2.使用Adobe Acrobat XI Pro工具打开pdf文件,在需要的位置添加文本域.(工具-->表单-->编辑) 3.对每个文本域设置文本域属性,为其命名.如title.desion_no等. 4.通过itext方式操作文本域,为期赋值,并重新生成pdf文件. 1 package com.pcm.app.transfer; 2 3 import java.io.ByteArrayOutp

C#使用ITextSharp操作pdf

在.NET中没有很好操作pdf的类库,如果你需要对pdf进行编辑,加密,模板打印等等都可以选择使用ITextSharp来实现. 第一步:可以点击这里下载,新版本的插件升级和之前对比主要做了这几项重大改变 1.初始化对汉字的支持 2.对页眉页脚的加载形式 第二步:制作pdf模板 可以下载Adobe Acrobat DC等任意一款pdf编辑工具,视图--工具--准备表单,可以在需要赋值的地方放上一个文本框,可以把名称修改为有意义的名称,后面在赋值时要用到. 第三步:建项目引入各个操作类 介于前段时间

转 Java操作PDF之iText详细入门

转 Java操作PDF之iText详细入门 2016年08月08日 11:06:00 阅读数:19490 iText是著名的开放项目,是用于生成PDF文档的一个java类库.通过iText不仅可以生成PDF或rtf的文档,而且可以将XML.Html文件转化为PDF文件. http://itextpdf.com/ 版本:itextpdf-5.2.1.jar 1.生成一个PDF Java代码   //Step 1-Create a Document. Document document = new 

如何操作PDF内容编辑

如何操作PDF内容编辑呢?有一些时候我们想要编辑PDF文件中的内容,但是因为PDF文件的安全性比较高,无法直接编辑PDF文件,编辑PDF文件需要使用到专业的PDF编辑器,下面小编就分两种方法为大家介绍一下PDF内容编辑. 方法一:迅捷PDF编辑器 1.我们需要双击将PDF编辑器打开,在软件的下面找到打开更多文件,将需要编辑内容的PDF文件打开. 2.将PDF文件打开后,在软件的界面可以找到内容编辑工具. 3.点击内容编辑,在自己的PDF文档中会出现虚线形式的方框,在方框中双击就可以选择需要更改的

怎么操作PDF文件交换页面?简单的操作方法

PDF文件怎么交换页面呢?在现在使用PDF文件的时候,我们也会遇到一些PDF交换页面这种问题,不会操作PDF交换页面怎么办呢?下面小编就为大家介绍一下PDF文档交换页面的操作方法. 操作软件:迅捷PDF编辑器(PDF编辑器下载) 1:我们将PDF编辑器安装到自己的电脑中,打开软件可以找到打开更多文件,将需要编辑的PDF文件添加到软件中. 2:在软件中可以找到文档,点击文档就可以找到更多页面,将鼠标移动到更多页面处,在右侧就会看到交换页面. 3:点击交换页面就会出现一个弹窗,在弹窗中可以看到Swa

用什么方法操作PDF旋转页面,什么方法简单

用什么方法操作PDF旋转页面呢?有的时候我们的PDF文件中的页面是歪的,我们想要将这些页面旋转过来,这个时候就需要使用到PDF编辑器,但是很多朋友对PDF编辑器怎么操作不是很了解,今天小编就为大家分享一下PDF文件旋转页面的操作方法. 操作软件:迅捷PDF编辑器 具体操作方法: 1:首先将迅捷PDF编辑器安装到自己的电脑中,打开PDF编辑器,将需要编辑的PDF文件添加到软件中. 2:在软件的界面找到文档,点击文档在下面的下拉框中可以找到旋转页面,点击旋转页面在软件中会出现一个选择框.也可以直接按