名前 題名 ▼ Mr.XRAYさん > Haru PDF Library のサンプルです. > 動作確認は,Windows 7 U64(SP1) + Delphi 2007-R2 です. > このコードのままでは,Delphi 2009 以上でコンパイルしても, > コンパイルのエラーは発生しませんが,正常に動作しません. > > Delphi 2009 以上で使用するには,hpdf_types.pas, hpdf_consts.pas 内の > PChar を PAnsiChar にして,使用する文字列の型を AnsiString にすれば, > PDF 文書が作成できます. > > 日本語フォントを使用するには工夫が必要です. > 面倒そうなのでやっていません. > 個人的には,Quick PDF, Gnostice PDF に比較して,ちょっと使いづらい気もします. > ただ,Haru PDF は無料で使用可能です. > > > unit Unit1; > > interface > > uses > Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, > Dialogs, StdCtrls; > > type > TForm1 = class(TForm) > Button1: TButton; > procedure Button1Click(Sender: TObject); > private > { Private 宣言 } > public > { Public 宣言 } > end; > > var > Form1: TForm1; > > implementation > > uses > hpdf, hpdf_types, hpdf_consts; > > {$R *.dfm} > > procedure error_handler (error_no: HPDF_STATUS; detail_no: HPDF_STATUS; > user_data: Pointer); stdcall; > var > message: string; > begin > message := 'ERROR: ' + IntToStr(error_no) + '-' + IntToStr(detail_no); > raise Exception.Create(message); > end; > > procedure TForm1.Button1Click(Sender: TObject); > var > HaruPdf : HPDF_Doc; > HaruFont : HPDF_Font; > HaruPage : HPDF_Page; > FilePath : String; > begin > //HPDF_Docオブジェクトの生成 > //エラー処理用のコールバック関数を指定 > HaruPdf := HPDF_New(@error_handler, nil); > try > //サムネイルを表示するようにする > HPDF_SetPageMode(HaruPdf, HPDF_PAGE_MODE_USE_THUMBS); > //新規ページを作成 > HaruPage := HPDF_AddPage(HaruPdf); > > //ページのサイズと用紙の方向を指定 > HPDF_Page_SetSize(HaruPage, HPDF_PAGE_SIZE_A4, HPDF_PAGE_LANDSCAPE); > //組み込みフォントを使用 > HaruFont := HPDF_GetFont(HaruPdf, 'Courier-Bold', nil); > > //線の色を設定 > HPDF_Page_SetRGBStroke(HaruPage, 0, 0, 0); > //塗り潰しの色を設定 > HPDF_Page_SetRGBFill(HaruPage, 0.7, 0.8, 0.9); > //四角形を描画 > HPDF_Page_Rectangle(HaruPage, 150, 150, 550, 250); > //四角形を塗り潰す > HPDF_Page_FillStroke(HaruPage); > > //フォントサイズを設定 > HPDF_Page_SetFontAndSize(HaruPage, HaruFont, 60); > > //輪郭線の色 > HPDF_Page_SetRGBStroke(HaruPage, 0.5, 0.5, 0.1); > //テキストの塗り潰しの色を設定 > HPDF_Page_SetRGBFill(HaruPage, 1, 1, 1); > //テキストを塗り潰しで描画 > HPDF_Page_SetTextRenderingMode(HaruPage, HPDF_FILL_THEN_STROKE); > > //テキストの表示 > HPDF_Page_BeginText(HaruPage); > HPDF_Page_TextOut(HaruPage, 210, 270, 'Hellow World'); > HPDF_Page_EndText(HaruPage); > > //ディスクに保存 > FilePath := 'ABC.pdf'; > HPDF_SaveToFile(HaruPdf, PChar(FilePath)); > finally > HPDF_Free (HaruPdf); > end; > end; > > end. > > > 下図は,上のコードを実行して,保存した PDF 文書を表示した画面です. > Adobe Reader X で表示しています. > システムに Adobe Acrobat がなくても,PDF 文書は作成できます. > PDF 文書の表示には Adobe Acrobat または Adobe Reader が必要です. GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link