转换PDF图像格式
来源:互联网 发布:军用软件无线电网关 编辑:程序博客网 时间:2024/04/29 15:04
http://blog.csdn.net/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:
url:
http://www.ghostscript.com/awki
下载ImageMagick-6.3.4-5-Q16-windows-dll.exe
url:
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
向各个连接,提供信息的同行表示感谢
http://blog.csdn.net/FollowIT/archive/2007/06/19/1658183.aspx
- 转换PDF图像格式
- 用Ghostscript API将PDF格式转换为图像格式(C#)
- 一些图像格式转换工具的使用方法(eps2svg with pdf)
- 图像格式转换
- 图像格式转换
- 图像格式转换
- 转换图像格式
- 图像格式转换
- 图像格式转换
- GDI+图像格式转换功能
- C#图像格式转换工具
- DICOM图像格式转换-1
- DICOM图像格式转换-2
- matlab中图像格式转换
- 批量图像格式转换
- opencv中的图像格式转换
- PowerShell中进行图像格式转换
- 如何用JAVA转换图像格式
- 《.net编程先锋C#》第一章 C#简介
- 分页
- unix 的vi命令的详细用法
- java中动态载入类、方法的几个玩意儿
- 基本系统进程
- 转换PDF图像格式
- 《.net编程先锋C#》第二章 理论基础-公用语言 运行环境
- 任重而道远
- 2.0 上传文件
- 优秀程序员的两大要素:懒 + 笨
- 《.net编程先锋C#》第三章 第一个C#应用程序
- LR中端口映射(port mapping)的原理和应用(Zee)
- 《.net编程先锋C#》第四章 C#类型
- left join,inner join,right join,cross join,full join的区别