【问题标题】:Using ContentByteUtils for raw PDF manipulation使用 ContentByteUtils 进行原始 PDF 操作
【发布时间】:2013-04-17 05:08:37
【问题描述】:

这是一个后续问题:

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

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

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

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

请帮忙!

【问题讨论】:

    标签: pdf pdf-generation itextsharp


    【解决方案1】:

    你为什么使用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)) {
        }
    }
    

    【讨论】:

    • 是的! SetPageContent 正是我想要的!救了我的命!
    猜你喜欢
    • 2012-05-18
    • 1970-01-01
    • 1970-01-01
    • 2011-05-01
    • 2018-03-02
    • 2021-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多