2017-02-22 23 views
0

私は現在、テキストコンテンツのみを含むPDFファイルを修正しようとしています。私が使用するとき他のPDFファイルでフォントを使用するには? (itext7 PDF)

実際に間接的なオブジェクトであるFontを返します。

pdf.inderect.object.belong.to.other.pdf.document.Copy.object.to.current.pdf.document 

この場合、PdfDocumentを閉じるときにスローされます。

このフォントを新しいPDFファイルに再利用する方法はありますか?または、フォント、色、fontSizeを変更せずに、テキストコンテンツをPDFで編集する方法はありますか?

私はitext7を使用しています。私はあなたが現時点で7.0.2あるiTextは、の最新バージョンを使用していないことがわかり、エラーメッセージから

おかげ

すべての

答えて

2

まず、。だから私はあなたのiTextバージョンを更新することをお勧めします。

第2に、別のドキュメントでフォントを使用することは可能です。しかし、まず、対応するフォントオブジェクトをその別の文書にコピーする必要があります(途中で例外メッセージに記載されています)。しかし、このアプローチにはいくつかの制限があることに注意してください。フォントサブセットの場合、ソースドキュメントの元のフォントサブセットに存在するグリフのみを使用することができ、他のグリフを使用することはできません。

PdfFont font = textRenderInfo.getFont(); // font from source document 
PdfDocument newPdfDoc = ... // new PdfDocument you want to write some text to 

// copy the font dictionary to the new document 
PdfDictionary fontCopy = font.getPdfObject().copyTo(newPdfDoc); 

// create a PdfFont instance corresponding to the font in the new document 
PdfFont newFont = PdfFontFactory.createFont(fontCopy); 

// Use newFont in newPdfDoc, e.g.: 
Document doc = new Document(newPdfDoc); 
doc.add(new Paragraph("Hello").setFont(newFont)); 
+0

ご回答いただきありがとうございます。問題は、textRenderInfoに "destPath"を与える方法に変わりました。私はそれを把握しようとします!ありがとうございました! –

関連する問題