2

Java、Spring、および IText を使用して PDF ファイルを作成するアプリケーションがあります。

PDFに透かしを入れたい。

既に保存されている PDF に透かしを追加する例をたくさん見つけました。PDF を保存する前に透かしを追加したい。

ITextSharp を使用してやりたいことを実行する例を見つけましたが、これは .NET 用です。クラスで次のコードを使用して、pdf ドキュメントを作成しています。

protected void buildPdfDocument(Map model, Document document, PdfWriter writer, HttpServletRequest request,
            HttpServletResponse response) throws Exception {

    response.setContentType("application/pdf");
    ProgramCmd programCmd = (ProgramCmd) request.getSession().getAttribute("programCmd ");
    List<Courses> list = programCmd.getCoursesList();
    List<Events> eventsList = programCmd.getEventsList();
    FONT_SIZE_16_BOLD.setColor(232, 177, 0);
    // Print Header
    Paragraph paragraph = new Paragraph("Title",FONT_SIZE_16_BOLD);
    paragraph.setAlignment(Element.ALIGN_CENTER);
    document.add(paragraph);
    paragraph = new Paragraph("***This is Not Official***",FONT_SIZE_12_BOLD);
    paragraph.setAlignment(Element.ALIGN_CENTER);
    document.add(paragraph);
    paragraph = new Paragraph("Create Date: " + todaysDate,FONT_SIZE_12_BOLD);
    paragraph.setAlignment(Element.ALIGN_CENTER);
    document.add(paragraph);
}

他のコードを投稿したい場合はお知らせください。

ありがとうございました。

4

2 に答える 2

1

本「iText in Action」の初版には、第 14 章にサンプル「WatermarkExample.java」があります。このサンプルのソースは、Manning の Web サイトでダウンロードできますが、もちろん、本を購入することもお勧めします。

于 2012-11-14T16:22:59.677 に答える
0

私の本、GreyBeardedGeek を宣伝していただきありがとうございます (賛成票に値します)。

この問題について詳しく説明しましょう。

ドキュメントの作成中に透かしを追加するか (ページ イベントで実行)、ドキュメントの作成後に ( で実行)、透かし追加するかどうかは明確ではありません。PdfStamper

これらは両方のオプションの例です:

  1. http://itextpdf.com/examples/iia.php?id=105では、メソッドを拡張PdfPageEventHelperして実装していonEndPage()ます。文書化されているように、 Document クラスに何も追加したり、 onStartPage() メソッドを使用してコンテンツを追加したりしないでください。(詳細はiText in Action - Second Edition を参照)。
  2. http://itextpdf.com/examples/iia.php?id=119ではPdfStamper、 とを使用して既存の PDF に背景を追加しPdfReaderます。PdfReaderインスタンスを作成するためにディスク上にファイルを用意する必要はありません。最初にメモリ内にファイルを作成し (たとえば a を使用ByteArrayOutputStream)、そのバイトをPdfReaderコンストラクタに渡すことができます。
于 2012-11-14T16:42:12.810 に答える