![](/img/trans.png)
[英]How to use Itext7 in powershell V5, Exception when loading pdfWriter
[英]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.