我有编程任务。我需要使用免费库或命令行程序使用C#将pdf转换为图像。
到目前为止,使用Ghostscript进行转换的工作除外,它在图像中心创建了一个8红框:
pdf的内容仅为纯白色,但为什么图像上有8个红色框?我做错了什么?
以下是代码:
string outputImagesPath = null;
string inputPDFFile = null;
inputPDFFile = @"C:\Users\user\cover.pdf";
outputImagesPath = @"C:\user\Desktop\1.jpg";
string ghostScriptPath = @"C:\Users\gswin32.exe";
String ars = "-o" + outputImagesPath+ "%03d.png -sDEVICE=jpeg -dJPEGQ=100 " + inputPDFFile;
Process proc = new Process();
proc.StartInfo.FileName = ghostScriptPath;
proc.StartInfo.Arguments = ars;
proc.StartInfo.CreateNoWindow = true;
//proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardOutput = true;
proc.Start();
string strOutput = proc.StandardOutput.ReadToEnd();
Console.WriteLine(strOutput);
proc.WaitForExit();
这是pdf的链接,谢谢https://drive.google.com/open?id=0B0auNx4EZsCUUkFHWGR4MjV5NzA
答案 0 :(得分:1)
在这里看看,使用另一个适用于.net core的nuget程序包,无需安装到服务器或本地计算机。best answer saving pdf pages as images
答案 1 :(得分:0)
这很可能是由于缺少字体或CIDFont引起的,矩形是在找不到字形时使用的.notdef字形。当然,如果没有看到原始PDF文件,就无法判断。
但是,如果您检查Ghostscript后退频道(并且我不能告诉您如何使用Ghostscript.NET进行此操作,因为它不是Artifex产品),您可能会看到有关缺少字形的警告。
我可以进一步查看,但前提是您可以使PDF文件可用。了解您正在使用的Ghostscript版本也很有帮助。