我想在内存中创建我正在创建的pdf,而不是物理上的,我不知道如何使用ghostscript来做到这一点。
这是我的代码:
string gsPath = @"C:\Program Files (x86)\gs\gs9.26\bin\gswin32.exe"; List gsArgsList = new List(); gsArgsList.Add(" -dPDFA=2"); gsArgsList.Add(" -dBATCH"); gsArgsList.Add(" -dNOPAUSE"); gsArgsList.Add(" -dUseCIEColor"); gsArgsList.Add(" -sProcessColorModel=DeviceCMYK"); gsArgsList.Add(" -sDEVICE=pdfwrite"); gsArgsList.Add(" -dPDFACompatibilityPolicy=1"); gsArgsList.Add(" -sOutputFile=" + nuevo); gsArgsList.Add(" " + rutaPdfNormal); var gsArgs = String.Join(null, gsArgsList); string gs = gsPath + gsArgs; System.Diagnostics.Process.Start(gsPath, gsArgs);
使用Ghostscript不能在内存中执行此操作,PDF文件始终写入文件系统。您可以将其存储在Ghostscript的RAM文件系统中,但这不太可能对您正在尝试的操作有所帮助。
不要使用-dUseCIEColor。
您没有运行pdfa_def.ps文件,这是设置PDF/A输出文件的某些方面所必需的。有关详细信息,请参阅留档。