使用 C# 和 Ghostscript 将 pdf 转换为图像
Converting pdf to image using c# and Ghostscript
我有一个编程任务。我需要使用免费库或命令行程序使用 C# 将 pdf 转换为图像。
到目前为止,使用 Ghostscript 进行转换是可行的,只是它在图像中心创建了一个 8 号红色框:
pdf的内容只有纯白的,为什么我的图片上有8个红框?我做错了什么?
代码如下:
string outputImagesPath = null;
string inputPDFFile = null;
inputPDFFile = @"C:\Users\user\cover.pdf";
outputImagesPath = @"C:\user\Desktop.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的link,谢谢https://drive.google.com/open?id=0B0auNx4EZsCUUkFHWGR4MjV5NzA
这很可能是由于缺少字体或 CIDFont 引起的,矩形是 .notdef 字形,在找不到字形时使用。当然,不看原始PDF文件是无法判断的。
但是,如果您查看 Ghostscript 后台通道(不,我不能告诉您如何使用 Ghostscript.NET 执行此操作,因为它不是 Artifex 产品),您可能会看到有关缺少字形的警告。
我可以进一步查看,但前提是您提供 PDF 文件。了解您使用的 Ghostscript 版本也很有帮助。
看看这里,使用另一个与 .net core 一起工作的 nuget 包,无需安装到服务器或您的本地计算机。best answer saving pdf pages as images
我有一个编程任务。我需要使用免费库或命令行程序使用 C# 将 pdf 转换为图像。
到目前为止,使用 Ghostscript 进行转换是可行的,只是它在图像中心创建了一个 8 号红色框:
pdf的内容只有纯白的,为什么我的图片上有8个红框?我做错了什么?
代码如下:
string outputImagesPath = null;
string inputPDFFile = null;
inputPDFFile = @"C:\Users\user\cover.pdf";
outputImagesPath = @"C:\user\Desktop.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的link,谢谢https://drive.google.com/open?id=0B0auNx4EZsCUUkFHWGR4MjV5NzA
这很可能是由于缺少字体或 CIDFont 引起的,矩形是 .notdef 字形,在找不到字形时使用。当然,不看原始PDF文件是无法判断的。
但是,如果您查看 Ghostscript 后台通道(不,我不能告诉您如何使用 Ghostscript.NET 执行此操作,因为它不是 Artifex 产品),您可能会看到有关缺少字形的警告。
我可以进一步查看,但前提是您提供 PDF 文件。了解您使用的 Ghostscript 版本也很有帮助。
看看这里,使用另一个与 .net core 一起工作的 nuget 包,无需安装到服务器或您的本地计算机。best answer saving pdf pages as images