转换PDF图像格式

  http://blog.youkuaiyun.com/FollowIT/archive/2007/06/19/1658183.aspx
具体要求:转换PDF--->TIFF
背景:在FAX过程中,会碰到FAX,PDF文件的情况,因为FAX并不支持.pdf的文件格式,所以要求我们能够自动转换PDF到TIFF格式
 
测试了很多方法,但都是有问题,几个比较好的连接
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1038875&SiteID=1
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1675180&SiteID=1
http://www.atalasoft.com/kb/Article.aspx?id=10125
PDF的格式与MS提供的TIFF,JPG等,有着很大的区别,需要第三方dll,但试着下载一些dll在.net里面,这次终于可以了,发现有PDF转换到TIFF,得到的TIFF文件有DLL开发商的,一些公司图标(防止我盗用吧),因为没有成功,也就不贴出来了;
看来还是我技术有待提高啊,为此苦闷了好几天,最后下定决心,其实是客户逼得,给MONEY就加油吧,讲一下我的解决方案吧,虽然已经实现了,我会不断完善方法(此不是最终的版本),希望给大家一些信息,谁有好的解决方案也可以和我交流一下。
首先下载GhostScript 和ImageMagick
Ghostscript是一套建基於Adobe、PostScript及可移植文档格式(PDF)的页面描述语言等而编译成的免费软件
下载 gs854w32.exe
url:
http://www.ghostscript.com/awki
下载ImageMagick-6.3.4-5-Q16-windows-dll.exe
url:
http://www.imagemagick.com.cn/download.html
然后就是安装,先安装GhostScript,然后是ImageMagick
通过.net,调用command指令,例如:
convert -depth 8 -type TrueColor -compress Group4 pdf.pdf tif.tif
此句意思是把pdf.pdf转换为tif.tif格式
更多信息,可以参考:http://www.imagemagick.com.cn/
附件1:
c#.net code:
         #region Run command
         private bool runCommand()//string inputFileFullName, string outputFileFullName)
         {
              bool _statusFlag = true;
              string _dosLine = "";
              Process myproc = new Process();
              try
              {
                   myproc.StartInfo.FileName = "cmd.exe";
                   //                 myproc.StartInfo.Arguments = "";
                   myproc.StartInfo.UseShellExecute = false;
                   myproc.StartInfo.RedirectStandardInput = true;
                   myproc.StartInfo.RedirectStandardOutput = true;
                   myproc.StartInfo.RedirectStandardError = true;
                   myproc.StartInfo.CreateNoWindow = true;
                   myproc.Start();
                   _dosLine = @"convert -depth 8 -type TrueColor -compress Group4 " + this.inputFileFullName.Trim() + " " + this.outputFileFullName.Trim() + ">NUL";
                   myproc.StandardInput.WriteLine(_dosLine);
                   myproc.StandardInput.WriteLine("exit");
                   while(!myproc.HasExited)
                   {
                       myproc.WaitForExit(60000);
                   }
                   if(!myproc.StandardError.ReadToEnd().Trim().ToString().Equals(""))
                   {
                       _statusFlag = false;
                   }
                   myproc.StandardError.Close();
              }
              catch(Exception ex)
              {
                   _statusFlag = false;
              }
              finally
              {
                   try
                   {
                       myproc.Close();
                       myproc.Dispose();
                   }
                   catch(Exception ex)
                   {
                       _statusFlag = false;
                   }
              }
              return _statusFlag;
         }
         #endregion
向各个连接,提供信息的同行表示感谢
数图图书阅读器 3.0 3.0最新功能: 在以往的版本中,常出现“文件损坏或不可识别的图像格式”错误,现在的版本已经基本上修正。但在首次运行时,任有该错误出现。请退出nlcview3.0,重新运行,哈哈哈,可以啦!!!! 在Win98Se上运行通过! 2.0最新功能: (1) 图像批量转换成bmp 或 jpg。 请在工具中运行。首先要打开需要转换的图书的某页,获得其地址,然后选择转换后文件保存的地址,确定,该书将全部转换。 (2) 页面设置:可以调整页的上边界和左边界,将图象较美观的打印出来。 (3) 大家渴望已久的批量打印在文件-->打印中实现。操作顺序:a, 打印设置,选择打印机和纸张大小;b:务必进行页面设置,否则打印中会出错; c: 进行打印,选择打印范围。如果你打开的页在正文页,‘T’开头的,此时可以选择全部打印正文页;如果你是在目录中进行打印,选择全部打印将打印出全部目录页;以此类推。 (4) 最近打开过的图书。系统自动记录下最近打开的图书所在的目录,如果该书的正文页从1到9页都不存在,系统将认为该书不存在。由于该功能的使用,在打开图书时,系统会比以前要满一些,但前后翻页的速度不受影响。 (5) 打印当前页。不需要任何设定,可以在快捷工具栏上点打印图标,也可以在看书过程中,直接按Ctrl+p。 (6) 最佳大小。图像查看时,除了可以采用原始大小,还可以采用最佳大小,它代表了图像和屏幕宽度匹配时的状况。并且是看书的默认值。可以看到书的整体效果。 (7) 直接从internet看书,或得书的任何一页,可以把该地址复制到NLCView的地址栏中,或打开图书地址中。网上看书时也可以用PgDn和PgUp翻页。 (8) 快捷菜单。在图像显示区,单击鼠标右键,可以调出快捷菜单,不过意义不大。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值