使用 Ghostscript.NET 删除创建者、作者、主题、标题和关键字
Remove Creator, Author, Subject, Title and Keywords using Ghostscript.NET
当我尝试使用 Ghostscript.NET 从 PDF 中删除创建者、作者、主题、标题和关键字时,出现错误 -100。
以下是我使用的开关:
var switches = new List<string>
{
"-dBATCH",
"-dNOPAUSE",
"-sDEVICE=pdfwrite",
"-c",
"\"[/Creator()/Author()/Subject()/Title()/Keywords() /DOCINFO pdfmark\"",
$"-sOutputFile={pdfOutput}",
pdfInput
};
谢谢
您应该阅读后台通道输出以查看错误消息并报告这些错误消息。
我在这里看到几个问题,第一个是您使用 -c 开关引入了 PostScript,但没有使用 -f 开关终止它。这意味着 -c 之后的所有内容都被解释为 PostScript,-sOutputFile=... 不是有效的 PostScript 并且会引发语法错误。
您创建了PDF文件,然后将其DOCINFO设置为(),然后解释了一个PDF文件。解释 PDF 文件的行为将从输入文件信息字典中设置 DOCINFO,因此可以轻松覆盖您的空字符串。您需要在 解释 PDF 文件之后 设置信息字典条目,而不是之前。所以 -c "..../DOCINFO pdfmark" -f
应该在输入文件之后,而不是之前。
当我尝试使用 Ghostscript.NET 从 PDF 中删除创建者、作者、主题、标题和关键字时,出现错误 -100。
以下是我使用的开关:
var switches = new List<string>
{
"-dBATCH",
"-dNOPAUSE",
"-sDEVICE=pdfwrite",
"-c",
"\"[/Creator()/Author()/Subject()/Title()/Keywords() /DOCINFO pdfmark\"",
$"-sOutputFile={pdfOutput}",
pdfInput
};
谢谢
您应该阅读后台通道输出以查看错误消息并报告这些错误消息。
我在这里看到几个问题,第一个是您使用 -c 开关引入了 PostScript,但没有使用 -f 开关终止它。这意味着 -c 之后的所有内容都被解释为 PostScript,-sOutputFile=... 不是有效的 PostScript 并且会引发语法错误。
您创建了PDF文件,然后将其DOCINFO设置为(),然后解释了一个PDF文件。解释 PDF 文件的行为将从输入文件信息字典中设置 DOCINFO,因此可以轻松覆盖您的空字符串。您需要在 解释 PDF 文件之后 设置信息字典条目,而不是之前。所以 -c "..../DOCINFO pdfmark" -f
应该在输入文件之后,而不是之前。