易捷 > PDF教程 > PDF开发/编程技术 >

用Ghostscript开发软件,将PDF转换成TIFF图片格式

分享到:
发布时间:2013-05-22 08:00   浏览次数:

具体要求:转换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,发现得到的TIFF文件有DLL开发商的,一些公司图标(防止我盗用吧),因为没有成功,也就不贴出来了;
看来还是我技术有待提高啊,为此苦闷了好几天,最后终于找出了一种方案。讲一下我的解决方案吧,虽然已经实现了,我会不断完善方法(此不是最终的版本),希望给大家一些信息,谁有好的解决方案也可以和我交流一下。
首先下载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

 

相关文章推荐

易捷服务大全

在线PDF转换工具

Word

在线Word转PDF

http://wordtopdf.yjpdf.com
 
Excel

在线Excel转PDF

http://exceltopdf.yjpdf.com
 
PPT

在线PPT转PDF

http://ppttopdf.yjpdf.com

本类最新文章

本类本月热门

大家在关注…