您好我一直在使用itextSharp为dot.net中的所有pdf相关项目。 我遇到了一个需要将PDF页面转换为图像的要求。 我找不到任何这样的样品。我发现另一个工具ghostscript能够做到这一点的问题就是我在共享主机&我不认为ghostscript将在我的本地计算机上运行,我不得不手动将ghost脚本dll复制到system32文件夹,这在共享主机中是不可能的。
答案 0 :(得分:12)
好的,我搜索了一遍,发现Ghost脚本有一个nuget包,所以通过打包管理器控制台并将ghost脚本添加到新项目中解决了我的问题(我创建了一个新的项目,因为旧的通过“PM> Install-Package Ghostscript.NET”对win32 ghostscript dlls进行了各种引用。 所以我的问题的答案是: 1.> itextSharp 无法直接将PDF页面转换为图像。 2.> “Ghostscript.NET 1.2.0”非常容易实现。以下是一个代码示例。
public void LoadImage(string InputPDFFile,int PageNumber)
{
string outImageName = Path.GetFileNameWithoutExtension(InputPDFFile);
outImageName = outImageName+"_"+PageNumber.ToString() + "_.png";
GhostscriptPngDevice dev = new GhostscriptPngDevice(GhostscriptPngDeviceType.Png256);
dev.GraphicsAlphaBits = GhostscriptImageDeviceAlphaBits.V_4;
dev.TextAlphaBits = GhostscriptImageDeviceAlphaBits.V_4;
dev.ResolutionXY = new GhostscriptImageDeviceResolution(290, 290);
dev.InputFiles.Add(InputPDFFile);
dev.Pdf.FirstPage = PageNumber;
dev.Pdf.LastPage = PageNumber;
dev.CustomSwitches.Add("-dDOINTERPOLATE");
dev.OutputPath = Server.MapPath(@"~/tempImages/" + outImageName);
dev.Process();
}