2017-02-02 7 views
-1

PDFのページ数に問題があります。Javaでitext apiを使用してpdfで余分なページ数を取得する

ページ数3のpdfがありますが、フッターに「Page 1 Of 4」が返ってきたとします。私たちはEventerクラスから4を取得しています。

ジャー:com.lowagie.text-2.1.7.jar

Eventerクラス:PdfPageEventHelper.java

enter image description here

+0

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のより新しいバージョンにアップグレードすることができます。 –

+0

さらに、 'PdfPageEventHelper'は* PdfPageEvents'インターフェースの実装で、* ** empty ** * methods *だけで構成されています。したがって、 "Eventer"クラスが 'PdfPageEventHelper'であるとのあなたの主張は間違っています。これは誰もあなたが 'Eventer'クラスの意味を理解していないことを意味します。そのようなことはない。 –

+0

最新のバージョンを使用しても、同じ問題が発生します。 http://memorynotfound.com/adding-header-footer-pdf-using-itext-java/ – Rajnikant

答えて

0

公式ドキュメントを読んでください、そしてあなた'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ページのノートで説明されています。ドキュメントが閉じられている

NOTEnewPage()方法は、現在のfinilizationsは に実行するトリガーされますページ。 newPage()が呼び出されると、ページ が増補されますので、メソッドで合計ページ数を追加する場合は(writer.getPageNumber() - 1)を使用する必要があります( )。

別の例が必要な場合は、公式ウェブサイトのFillTemplateHelperの例をご覧ください。

+0

ありがとうございます – Rajnikant

+1

その場合は、答えを受け入れることを自由にしてください。 –

関連する問題