簡體   English   中英

如何在不使用 iText7 和 C# 覆蓋內容的情況下向現有 pdf 添加文本?

[英]How to add text to an existing pdf without overwriting the content with iText7 and C#?

我有這段代碼應該在pdf中的圖像后插入文本。

        // Read the data from input file
        string reader = "C:\\InesProjetos\\PrintTextWithImage\\PrintTextWithImage\\cat.pdf";
        string dest = "C:\\demo.pdf";
        string text = "C:\\InesProjetos\\PrintTextWithImage\\PrintTextWithImage\\text.txt";
        StreamReader rdr = new StreamReader(text);
        // Must have write permissions
        //to the path folder
        PdfWriter writer = new PdfWriter(dest);
        PdfReader readerFile = new PdfReader(reader);
        PdfDocument pdf = new PdfDocument(writer); 
        Document document = new Document(pdf);
        document.Add(new Paragraph(rdr.ReadToEnd()));
        document.Close();     

如何在 cat.pdf 文件中插入 text.txt 文件中的文本而不覆蓋 cat.pdf 中的圖像?

更新

如何處理 readerFile 對象? 我應該將 cat.pdf 插入 demo.pdf 然后添加文本嗎? 如果是這樣怎么辦?

每當你想向現有的 pdf 添加一些東西時,你不僅要寫,還要讀,即你需要PdfWriterPdfReaderPdfDocument

PdfReader reader = new PdfReader(source);
PdfWriter writer = new PdfWriter(dest);
PdfDocument pdf = new PdfDocument(reader, writer);

此外,如果您不希望新內容覆蓋現有內容,則必須如此告知對象,例如,如果您使用Document添加新內容:

Document document = new Document(pdf);
document.Add(new AreaBreak(AreaBreakType.LAST_PAGE));
document.Add(new AreaBreak(AreaBreakType.NEXT_PAGE));
document.Add(new Paragraph(rdr.ReadToEnd()));
document.Close(); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM