Skip to main content
Interwork Corporation
IDR Solutions Product Support Portal
PDF開発用語集 モードの切替 ダーク/ライト/自動 モードの切替 ダーク/ライト/自動 モードの切替 ダーク/ライト/自動

Java PDF ViewerでPDFに追加オブジェクトを描画する

JPedalのAPIを使用すると、レンダリングされたPDFの上に追加コンテンツを加えることができます。ドキュメントに追加される注釈とは異なり、追加コンテンツは元のドキュメントを変更することなくPDFページ上にレンダリングされます。追加コンテンツは、表示時および/または印刷時にページに追加できます。以下で説明するすべての内容の例は、こちらで確認できます

表示ページへのオブジェクトの追加

メソッド PdfDecoder.drawAdditionalObjectsOverPage(int page, int[] type, Color[] colors, Object[] obj) を使用すると、表示ページに描画される追加コンテンツを指定できます。このメソッドは、コンテンツを追加するページ番号と、コンテンツ情報を保持する3つの配列を受け取ります(詳細は以下で説明)。

印刷ページへのオブジェクトの追加

メソッド PdfDecoder.printAdditionalObjectsOverPage(int page, int[] type, Color[] colors, Object[] obj) を使用すると、表示ページに描画される追加コンテンツを指定できます。このメソッドは、コンテンツを追加するページ番号と、コンテンツ情報を保持する3つの配列を受け取ります(詳細は以下で説明)。さらに、PdfDecoder.printAdditionalObjectsOverAllPages(int[] type, Color[] colors, Object[] obj) という、すべてのページにコンテンツのセットを印刷できるメソッドもあります。

追加コンテンツの作成

追加できる追加コンテンツにはいくつかのタイプがあり、それぞれ異なるタイプのオブジェクトを提供する必要があります。追加コンテンツを指定する際は、提供する配列にint、Colorオブジェクト、Objectを渡します。

  • 塗りつぶしの不透明度

    • タイプ: DynamicVectorRenderer.FILLOPACITY
    • Color: 値が使用されないため、Null
    • Object: 不透明度を指定するFloat(1は完全に不透明、0は透明)
  • 線の不透明度

    • タイプ: DynamicVectorRenderer.STROKEOPACITY
    • Color: 値が使用されないため、Null
    • Object: 不透明度を指定するFloat(1は完全に不透明、0は透明)
  • 線付き図形

    • タイプ: DynamicVectorRenderer.STROKEDSHAPE
    • Color: 図形の線の色を指定するColorオブジェクト
    • Object: 線を引くShapeオブジェクト
  • 塗りつぶし図形

    • タイプ: DynamicVectorRenderer.FILLEDSHAPE
    • Color: 図形の塗りつぶし色を指定するColorオブジェクト
    • Object: 線を引くShapeオブジェクト
  • 画像

    • タイプ: DynamicVectorRenderer.IMAGE
    • Color: 値が使用されないため、Null
    • Object: 追加する画像とその位置を含むImageObject
  • 文字列

    • タイプ: DynamicVectorRenderer.STRING
    • Color: テキストの色を指定するColorオブジェクト
    • Object: 追加する画像、そのフォント、位置を含むTextObject
  • カスタムオブジェクト

    • タイプ: DynamicVectorRenderer.CUSTOM
    • Color: 値が使用されないため、Null
    • Object: JPedalCustomDrawObject を実装する任意のオブジェクト。これにより、任意のコンテンツを追加できます。
      注意: 特定の場合、PDFファイルにクリップが設定されていることがあり、その場合、一部のカスタムオブジェクトが表示されないことがあります。追加オブジェクトを描画する前に、クリップをnullに設定することをお勧めします。

表示ページからのオブジェクトの削除

メソッド PdfDecoder.flushAdditionalObjectsOnPage(int page) は、指定されたページからすべての追加コンテンツを削除します。次にページが描画されるときには、コンテンツは存在しなくなります。