使用ContentByteUtils进行原始PDF操作

时间:2013-04-17 05:08:38

标签: pdf pdf-generation itextsharp

这是一个后续问题:

Programmatically change the color of a black box in a PDF file?

我有一个我在Illustrator中创建的pdf,它在页面中间基本上是黑色形状,没有别的。我需要动态更改该形状的颜色。

从上面的帖子的回复中,我使用iTextSharp(.NET C#)通过ContentByteUtils.GetContentBytesForPage()获取PDF的原始内容,并更改原始级别的颜色。

问题是我找不到通过iTextSharp将结果保存回原始PDF或新PDF文件的任何方法。我目前停留在原始内容的字节数组中,但需要弄清楚如何保存。

请帮忙!

1 个答案:

答案 0 :(得分:0)

您为什么使用ContentByteUtils.GetContentBytesForPage()

我会用:

PdfReader reader = new PdfReader(src);
byte[] content = reader.GetPageContent(pageNumber);
// do stuff with content
reader.SetPageContent(pageNumber, content);
using (FileStream fs = new FileStream(outputFile, FileMode.Create, FileAccess.Write, FileShare.None)) {
    using (PdfStamper stamper = new PdfStamper(reader, fs)) {
    }
}