我想使用GhostscriptProcessor将PDF文件转换为PDF / A,但结果是PDF而不是PDF / A.
GhostscriptProcessor gsproc = new GhostscriptProcessor(Properties.Resources.gsdll32);
gsproc.StartProcessing(CreatePDFA(@"C:\test\PDF.pdf", @"C:\test\PDFA.pdf"), new GsStdio());
方法:
CreateTestArgs(string inputPath, string outputPath)
{
List<string> gsArgs = new List<string>();
gsArgs.Add("-dPDFA");
gsArgs.Add("-dBATCH");
gsArgs.Add("-dNOPAUSEgsArgs");
gsArgs.Add("-sDEVICE=pdfwrite");
gsArgs.Add(@"-sOutputFile=" + outputPath);
gsArgs.Add(@"-f" + inputPath);
return gsArgs.ToArray();
}
如果我使用命令行中的gswin32.exe,则结果为PDF / A文件。
答案 0 :(得分:2)
忽略第一个开关。您需要在位置0添加虚拟开关,因此代码将如下所示:
string[] CreateTestArgs(string inputPath, string outputPath)
{
List<string> gsArgs = new List<string>();
gsArgs.Add("-notused");
gsArgs.Add("-dPDFA");
gsArgs.Add("-dBATCH");
gsArgs.Add("-dNOPAUSEgsArgs");
gsArgs.Add("-sDEVICE=pdfwrite");
gsArgs.Add(@"-sOutputFile=" + outputPath);
gsArgs.Add(@"-f" + inputPath);
return gsArgs.ToArray();
}