如何使用PDFSharp从现有pdf中删除图像(全部)?
我试过这段代码:
public static PdfDocument RemoveImages(PdfDocument pdf)
{
foreach (PdfPage page in pdf.Pages)
{
PdfDictionary resource = page.Elements.GetDictionary("/Resources");
if (resource != null)
{
PdfDictionary objects = resource.Elements.GetDictionary("/XObject");
if (objects != null)
{
foreach (string itemKey in objects.Elements.Keys)
{
PdfItem item = objects.Elements[itemKey];
PdfReference reference = item as PdfReference;
if (reference != null)
{
PdfDictionary xObject = reference.Value as PdfDictionary;
if (xObject != null && xObject.Elements.GetString("/Subtype") == "/Image")
{
pdf.Internals.RemoveObject((PdfObject)reference.Value); // remove image from internal document table
objects.Elements.Remove(itemKey); // remove image from page resource
}
}
}
}
}
}
return pdf;
}
但是这段代码在Acrobat Reader中打开该文件时会提供pdf错误...
如何使用PDFSharp从现有pdf中删除图像而不会出现问题?
提前致谢!
答案 0 :(得分:1)
删除图像,但不要更改绘制图像的页面内容。 Adobe Reader尝试绘制不再存在的图像。 这就是你的文件损坏的原因。
可能的解决方案(只是猜测,而不是我的专业领域):