簡體   English   中英

在iText7中代替PdfWriter.AddToBody使用什么?

[英]What to use in place of PdfWriter.AddToBody in iText7?

PdfWriter中的AddToBody方法和派生類在iText7中似乎已消失。 我本來希望該功能已遷移到PdfDocument類,但是對於該類或底層編寫器是否具有類似功能,我尚不清楚。 我正在嘗試將鍵/值對添加到字典中,其中該值是對PdfStream的間接引用。 我的itext 5代碼看起來像這樣:

dict.Put(new PdfName("IndexerReportNames"), writer.AddToBody(new PdfStream(GetReportNames(reports))).IndirectReference);

問題是,如何移植此代碼以及與iText7類似的代碼?

要將鍵/值對添加到其中值是對PdfStream的間接引用的PdfStream ,您實際上不需要已經將對象寫入結果流,只需在給定的PdfDocument使其間接。

在iText 7中,您可以針對給定的PdfDocument pdfDocument ,給定的目標PdfDictionary pdfDictionary和給定的PdfStream pdfStream

pdfStream.MakeIndirect(pdfDocument);
pdfDictionary.Put(new PdfName("IndexerReportNames"), pdfStream);

如果您還希望將其盡早寫入結果流,則可以立即調用Flush

pdfStream.Flush();

您還可以更緊湊地編寫它:

pdfDictionary.Put(new PdfName("IndexerReportNames"), new PdfStream(...).MakeIndirect(pdfDocument));

暫無
暫無

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

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