PDFのページ数に問題があります。Javaでitext apiを使用してpdfで余分なページ数を取得する
ページ数3のpdfがありますが、フッターに「Page 1 Of 4」が返ってきたとします。私たちはEventerクラスから4を取得しています。
ジャー:com.lowagie.text-2.1.7.jar
Eventerクラス:PdfPageEventHelper.java
PDFのページ数に問題があります。Javaでitext apiを使用してpdfで余分なページ数を取得する
ページ数3のpdfがありますが、フッターに「Page 1 Of 4」が返ってきたとします。私たちはEventerクラスから4を取得しています。
ジャー:com.lowagie.text-2.1.7.jar
Eventerクラス:PdfPageEventHelper.java
公式ドキュメントを読んでください、そしてあなた'LL相談したunofficalウェブサイトの例が間違っていることを発見してください。
私の本「iText in Action - Second Edition」の第5章では、MovieCountries1という例があります。お分かりのように、をonCloseDocument()
メソッドで使用しています。
public void onCloseDocument(PdfWriter writer, Document document) {
ColumnText.showTextAligned(total, Element.ALIGN_LEFT,
new Phrase(String.valueOf(writer.getPageNumber() - 1)),
2, 2, 0);
}
この理由は、本の152ページのノートで説明されています。ドキュメントが閉じられている
NOTE、
newPage()
方法は、現在のfinilizationsは に実行するトリガーされますページ。newPage()
が呼び出されると、ページ が増補されますので、メソッドで合計ページ数を追加する場合は(writer.getPageNumber() - 1)
を使用する必要があります( )。
別の例が必要な場合は、公式ウェブサイトのFillTemplateHelperの例をご覧ください。
ありがとうございます – Rajnikant
その場合は、答えを受け入れることを自由にしてください。 –
iText 2.1.7はサポートされなくなりました。 2009年のこれらのバージョン日付とあなたはもはやそれを使用する必要があります。プロジェクトマネージャーに納得させるための議論が必要な場合は、[Can iText 2.1.7/iTextSharp 4.1.6以前を商用で利用できますか?](http://developers.itextpdf.com/question/versions-older-than-5)をお読みくださいiTextまたはiTextSharpのより新しいバージョンにアップグレードすることができます。 –
さらに、 'PdfPageEventHelper'は* PdfPageEvents'インターフェースの実装で、* ** empty ** * methods *だけで構成されています。したがって、 "Eventer"クラスが 'PdfPageEventHelper'であるとのあなたの主張は間違っています。これは誰もあなたが 'Eventer'クラスの意味を理解していないことを意味します。そのようなことはない。 –
最新のバージョンを使用しても、同じ問題が発生します。 http://memorynotfound.com/adding-header-footer-pdf-using-itext-java/ – Rajnikant