いかなる暗号化ベースのセキュリティを反映させずに、ハンドルをPDFファイルへ閉じる。PDFへの全ての書き込み操作はファイナライズされ、そして全て内部メモリ構造はリリースされる。暗号を解除させた出力PDFが必要な場合に、このメソッドを使用してください。
Sub CloseDecrypt()
なし
備考 1:
暗号を解除された出力PDFを得たい場合、PDFの変更を終了する際にCloseDecrypt またはCloseMemDecrypt を確実にコールしてください。ファイルハンドルを閉じないと、PDFファイルは完全に書き出されず無効とみなされるでしょう。更に、ファイルハンドルによって内部で使われるメモリが割り当てられないでしょう。; いくつかのプログラミング言語やフレームワークにおいて、これはメモリのリークとして現れ、その他においては、EasyPDF SDKが対応していないコードであるがために、予想のできない不要データのコレクションという結果になってしまうでしょう。暗号解除されたPDFを書き出したい場合、 常にCloseDecrypt または CloseMemDecrypt を確実にコールしてください。
一旦ファイルハンドルが閉じられると、いかなるハンドルのメソッド上のコールも許可されません。例外としてClose、CloseMem、CloseEncrypt、CloseMemEncrypt、CloseDecrypt または CloseMemDecryptへは繰り返しコールされることが可能です。つまり、もしあなたが例外処理イディオムを使用すれば、安全に Close またはその変化型を早期のハンドルクローズに関係なく最終ブロック内で、コールすることができます。
しかしながら、1番目のコールした Close、CloseMem、CloseEncrypt、CloseMemEncrypt、CloseDecrypt、またはCloseMemDecrypt だけが実際にファイルハンドルを閉じ、そしてそれは成功や失敗に関わらず実行されるということに注意してください。もし何らかの理由でCloseまたはその変化型への最初のコールが失敗した場合、その後ファイルハンドルは閉じられ、その内部メモリは自由になり、ある例外が発生します。1番目のコール以外のClose またはその変化型へのいかなるコールは無視されます。(それは何も実行せず、エラーも起しません。)
備考 2:
お持ちのオリジナル入力PDFが暗号化されていなかった場合、まだCloseDecrypt またはCloseMemDecrypt を安全にコールできます。このような状況において、単純にCloseやCloseMem をコールされた場合と同様の動作をします。
Set oProcessor = CreateObject("easyPDF.PDFProcessor.7")
Set oProcessorHandle = oProcessor.OpenFile("C:\input.pdf", "C:\output.pdf", "ownerPassword")
oProcessorHandle.AddHyperlink 0, _ 0, _ 50, _ 80, _ 370, _ 100, _ "http://www.bcltechnologies.com/", _ PRC_BORDERSTYLE_DASHLINE_MEDIUM, _ RGB(255, 0, 0)
oProcessorHandle.AddStamp "C:\image.jpg", _ 0, _ PRC_STAMP_HPOS_CENTER, _ PRC_STAMP_VPOS_CENTER, _ PRC_STAMP_ZORDER_TOP, _ 0, _ 0, _ 0, _ 100
oProcessorHandle.CloseDecrypt
Dim oProcessor As PDFProcessor = Nothing Dim oProcessorHandle As PDFProcessorHandle = Nothing
Try
oProcessor = New PDFProcessor
oProcessorHandle = oProcessor.OpenFile("C:\input.pdf", "C:\output.pdf", "ownerPassword")
oProcessorHandle.AddHyperlink(0, _ 0, _ 50, _ 80, _ 370, _ 100, _ "http://www.bcltechnologies.com", _ prcAnnotBorderStyle.PRC_BORDERSTYLE_DASHLINE_MEDIUM, _ 0)
oProcessorHandle.AddStamp("C:\image.jpg", _
0, _
prcStampHPosition.PRC_STAMP_HPOS_CENTER, _
prcStampVPosition.PRC_STAMP_VPOS_CENTER, _
prcStampZOrder.PRC_STAMP_ZORDER_TOP, _
0, _
0, _
0, _
100)
oProcessorHandle.CloseDecrypt()
Catch ex As System.Runtime.InteropServices.COMException MessageBox.Show(ex.Message)
Finally
oProcessorHandle.Close()
End Try
PDFProcessor oProcessor = null; PDFProcessorHandle oProcessorHandle = null;
try { oProcessor = new PDFProcessor();
oProcessorHandle = oProcessor.OpenFile(@"C:\input.pdf", @"C:\output.pdf", "ownerPassword");
oProcessorHandle.AddHyperlink(0, 0, 50, 80, 370, 100, "http://www.bcltechnologies.com", prcAnnotBorderStyle.PRC_BORDERSTYLE_DASHLINE_MEDIUM, 0);
oProcessorHandle.AddStamp(@"C:\image.jpg", 0, prcStampHPosition.PRC_STAMP_HPOS_CENTER, prcStampVPosition.PRC_STAMP_VPOS_CENTER, prcStampZOrder.PRC_STAMP_ZORDER_TOP, 0, 0, 0, 100); oProcessorHandle.CloseDecrypt(); } catch(System.Runtime.InteropServices.COMException ex) { MessageBox.Show(ex.Message); } finally { oProcessorHandle.Close(); }