パーソナルビジネスソフトとお役立ち情報のサイト
PDFlib
COOKBOOK - PDFlib サンプルプログラム

PDF/Aの出力

JAVAコード

PDF/Aに準拠したファイルを出力します。

使用するソフトウェア:PDFlib/PDFlib+PDI/PPS 7
使用するデータ:フォントファイル、イメージファイル


import java.io.*;
import com.pdflib.pdflib;
import com.pdflib.PDFlibException;

public class starter_pdfa
{
  public static void main (String argv[])
  {
    /* データファイルの場所です。必要なように適合させます */
    String searchpath = "../data";

    pdflib p = null;
    String imagefile = "nesrin.jpg";

    int font;
    int image;

    try {
      p = new pdflib();

      p.set_parameter("SearchPath", searchpath);

      /* load_font()等からの戻り値を調べなければいけないことを
       * 表しています。
       */
      p.set_parameter("errorpolicy", "return");

      /* PDF/A-1aはTagged PDFが必要です。 */
      if (p.begin_document("starter_pdfa.pdf",
      "pdfa=PDF/A-1b:2005") == -1)
        throw new Exception("Error: " + p.get_errmsg());

      /* sRGBはCIELab、ICC-based、grayscale、RGBの
      * カラースペースを認めるので、出力意図として使います。
       *
       * もしCMYKカラーを必要とするならCMYK出力プロファイルを
       * 使わなければなりません。
       */


      p.load_iccprofile("sRGB", "usage=outputintent");

      p.set_info("Creator", "PDFlib starter sample");
      p.set_info("Title", "starter_pdfa");

      p.begin_page_ext(595, 842, "");

      /* フォントの埋め込みにはPDF/Aが必要です */
      font = p.load_font("LuciduxSans-Oblique", "unicode", "embedding");

      if (font == -1)
        throw new Exception("Error: " + p.get_errmsg());

      p.setfont(font, 24);

      p.fit_textline("PDF/A-1b:2005 starterzz", 50, 700, "");

      /* 出力意図のプロファイルを常に提供するので、
       * RGBイメージを使うことが出来ます。
       */

      image = p.load_image("auto", imagefile, "");

      if (image == -1)
        throw new Exception("Error: " + p.get_errmsg());

      /* ページの最下位にイメージを配置します */
      p.fit_image(image, 0.0, 0.0, "scale=0.5");

      p.end_page_ext("");

      p.end_document("");

   } catch (PDFlibException e){
      System.err.print("PDFlib exception occurred:\n");
      System.err.print("[" + e.get_errnum() + "] " + e.get_apiname() +
        ": " + e.get_errmsg() + "\n");
    } catch (Exception e) {
      System.err.println(e.getMessage());
    } finally {
      if (p != null) {
        p.delete();
      }
    }
  }
}
JAVA1.5.0/PDFlib 7.0.0
(Dec 18, 2006)










■「PDF 出力」はライセンスを取得されていない方がテストした結果と同様になるように、ライセンスキーを適用しない状態で出力したものです。そのため、「www.pdflib.com」スタンプが表示されていますが、ライセンスキーを適用すると表示されません。