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

基本的な出力

JAVA コード

シンプルなテキスト、ベクター画像、イメージを出力します。

使用するソフトウェア:PDFlib/PDFlib+PDI/PPS 7
使用するデータ:無し


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

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

    pdflib p = null;
    String imagefile = "nesrin.jpg";
    String optlist, data;
    int font, image;

    try {
      p = new pdflib();

      p.set_parameter("SearchPath", searchpath);

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

      if (p.begin_document("starter_basicj.pdf", "") == -1)
        throw new Exception("Error: " + p.get_errmsg());

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

      /* 最初のページの前にイメージをロードし、それを全てのページに
       * 使います。
       */
      image = p.load_image("auto", imagefile, "");

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

      /* ページ 1 */
      p.begin_page_ext(595, 842, "");

      /* "unicode" の "UniJIS-UCS2-H" に変えます */
      font = p.load_font("HeiseiMin-W3", "UniJIS-UCS2-H", "");

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

      p.setfont(font, 24);

      p.set_text_pos(50, 700);
      p.show("ようこそ!世界へ!");

      p.fit_image(image,  0.0,  0.0, "scale=0.25");

      p.end_page_ext("");

      /* ページ 2 */
      p.begin_page_ext(595, 842, "");

      /* 赤い長方形 */
      p.setcolor("fill", "rgb", 1.0, 0.0, 0.0, 0.0);
      p.rect(200, 200, 250, 150);
      p.fill();

      /* 青い円 */
      p.setcolor("fill", "rgb", 0.0, 0.0, 1.0, 0.0);
      p.arc(400, 600, 100, 0, 360);
      p.fill();

      /* 太い灰色の線 */
      p.setcolor("stroke", "gray", 0.5, 0.0, 0.0, 0.0);
      p.setlinewidth(10);
      p.moveto(100, 500);
      p.lineto(300, 700);
      p.stroke();

      /* 同じイメージハンドルを使うことは、データがPDFの保存ス
       * ペースにただ一度のみコピーされることを表しています。
       */
      p.fit_image(image, 150.0, 25.0, "scale=0.25");
      p.end_page_ext("");

      /* ページ 3 */
      p.begin_page_ext(595, 842, "");

      /* イメージを(ゆがみ無しで)あらかじめ定められたサイズの
       * ボックスに合わせます。
       */
      optlist =
        "boxsize={400 400} position={center} fitmethod=meet";

      p.fit_image(image, 100, 200, optlist);

      p.end_page_ext("");

      p.close_image(image);
      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)










■PDFlib の基礎知識に関してはPDFlib 入門よくある質問も参考にして下さい。




■データファイルには「使用するデータ」と「CMapデータ」が含まれます。




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