2012年11月26日

PDFファイルに注釈(アノテーション)を追加する(Classic ASP版)

前回は、PDFファイルに注釈(アノテーション)を追加するPHPサンプルプログラムをご紹介しましたが、今回は、Classic ASP版をご紹介します。Server.CreateObjectすれば良いのですが、今回のサンプルを準備させていただくにあたり、一つはまったことがあります。テストはWindows 7 Ultimate + IIS 7.5で行ったのですが、数年前に試した時には、Classic ASP版でもうまくいっていたはずなのに、なぜかうまくいきません。Googleで調べまくっては、試行錯誤して、やっとたどりついたのが、64bit環境なのに、32bitのdllを呼び出しているということが理由だと分かりました。私のWindows 7は64bitでした。今までPHPなどでは意識してこなかったけど、たまたまということかもしれません。

さて、今回のサンプルの中心は、AddNoteAnnotationメソッドになりますが、同メソッドについての詳細は、Quick PDF Libraryの体験版もしくは製品版のマニュアル(PDF)にも記載されていますが、こちらにも記載されています。

<%

	On Error Resume Next

	'当方の環境は、Windows 7 64bit版でテストをしていますので、64bit版dllを使用します。
	Set PDFLibrary = Server.CreateObject("DebenuPDFLibrary64AX0912.PDFLibrary")

	If Err <>0 Then
		Response.Write Err.Description & "
" Response.End End If If PDFLibrary.UnlockKey("ライセンスキー") = 1 Then Response.Write("License validation successful!") Response.Write("
") Response.Write("Valid license key: ") Response.Write(PDFLibrary.LicenseInfo()) Response.Write("

") Else Response.Write("License validation failed!") Response.Write("

") Response.End End If Dim filename,result,left,top,AnnotType,PopupTop,PopupLeft,PopupWidth,PopupHeight,title,contents,red,green,blue,open,error_code,filename2 filename = "091201_2.pdf" 'Quick PDF Libraryで扱う場合、ファイルのパスはフルパスに filename = Server.MapPath(filename) result = PDFLibrary.LoadFromFile(filename,"") If result = 0 Then Response.Write("load error
" & filename & "
") Response.End End If 'Quick PDF Libraryでは、座標系はデフォルトで0,0がPDFファイル 'の左下になりますので注意してください。 '普通?の感覚どおりPDFファイルの左上を0,0にしたい場合は、 'SetOriginメソッド(引数1)を使ってください。 ' http://www.quickpdflibrary.com/help/quickpdf/SetOrigin.php PDFLibrary.SetOrigin(1) '注釈の位置を示すアイコンが表示される座標 left=130 top=70 '注釈のタイプ。AnnotType=0ならNote AnnotType=0 '注釈の位置を示すアイコンをクリックした際に表示される 'ポップアップの表示の表示される座標 PopupTop=120 PopupLeft=10 'ポップアップのサイズ PopupWidth=300 PopupHeight=70 '注釈のタイトル title="修正の際に気をつけるべきところ" '改行もOKです。 contents ="12月1日に最終の原稿が入るので、それ以降に修正すること。" & vbLF & "新規事業計画の問題点に関する考察はもっと具体的に" '色の指定は赤緑黄色の割合を0から1の範囲で指定します。 red=0.8 green=0.5 blue=0.2 'PDF文章が開いたときに最初から注釈が表示されているよう 'にしたい場合は、open=1 open=0 result = PDFLibrary.SelectPage(1) If result = 0 Then error_code = PDFLibrary.LastErrorCode() Response.Write("can not select page of " & filename & ".
" & error_code) Response.End End If result = PDFLibrary.AddNoteAnnotation(left,top,AnnotType,PopupLeft,PopupTop,PopupWidth,PopupHeight,title,contents,red,green,blue,open) If result = 0 Then error_code = PDFLibrary.LastErrorCode() Response.Write("can not add annotation. " & filename & "
" & error_code) Response.End End If '保存先のパス filename2 = Replace(filename,".pdf","_annotate_asp.pdf") '保存します。 result=PDFLibrary.SaveToFile(filename2) If result = 0 Then error_code = PDFLibrary.LastErrorCode() Response.Write("can not save." & filename & "
" & error_code) Response.End End If Response.Write("success
") %>
なお、注釈に表示される日時を消すことも可能です。詳細は、Quick PDF Libraryの体験版もしくは製品版のマニュアル(PDF)を参照してください。



posted by PDF太郎 at 15:40| Comment(0) | TrackBack(0) | サンプルプログラム | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。