提问者:小点点

如何在内存中创建pdf,而不是在物理上使用ghostscript?


我想在内存中创建我正在创建的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);


共1个答案

匿名用户

使用Ghostscript不能在内存中执行此操作,PDF文件始终写入文件系统。您可以将其存储在Ghostscript的RAM文件系统中,但这不太可能对您正在尝试的操作有所帮助。

不要使用-dUseCIEColor。

您没有运行pdfa_def.ps文件,这是设置PDF/A输出文件的某些方面所必需的。有关详细信息,请参阅留档。