OpenFile メソッド

一連の操作をPDFファイル上で実行できるように、(ディスク上の)物理的PDFファイルを開く。

Function OpenFile(InputFileName As String,
                  OutputFileName As String,
                  [Password As String]) As PDFProcessorHandle

パラメータ

 

戻り値

成功した場合、タイプ PDFProcessorHandle のハンドルがオープンされているファイルへ返されます。

 

注意点

OpenFile は、各操作の後にPDFを閉じ、再分析することなく、イン-メモリPDFファイル上の一連の操作を実行することを可能にし、その結果、性能を最適化します。

ファンクションは、PDF上で操作することが可能になるPDFProcessorHandle オブジェクトを返します。たとえPDFに何も変更が加えられなくても、ハンドルは実行後に必ず閉じられなくてはいけません。

出力ファイル名は、ファイルを開く際に指定されなければならないということに注意してください。もし、PDFに何も変更を加える予定が無い場合、ただ単純に入力ファイルと同じファイル名を出力ファイルにつけてください。

パスワードパラメータについての注意:

暗号化された入力PDFのためのオーナーパスワードを提供することが、いつもその入力PDFを処理することを許可するでしょう。 つまり、可能であればオー ナーパスワードは利用した方が好ましいです。しかしながら、いくつかの場合において、ユーザーパスワードだけで十分なときがあります。ユーザーパスワード が十分かどうかは、どのようなファンクションをPDF上でコールするかそしてどのようなセキュリティ設定で暗号化されるかによります。

GetPageCount, GetPageRotationGetPageSize はいつもユーザーパスワードで動作します。

OptimizeBeforeClose で暗号化ファイルを最適化すること、CloseDecryptCloseMemDecrypt を用いて暗号を取り除くこと、また CloseEncryptCloseMemEncrypt を使用して暗号化されているファイルを異なるセキュリティ設定(例えば、パスワードや許可)で再暗号化することは、いつもオーナーパスワードを必要とします。

しかしながら、必要な許可がユーザーパスワード経由で与えられた場合、その他のファンクションコールはユーザーパスワードだけで成功出来ます。該当のファンクションコールは以下の通りです。

AddAttachment, AddFreeText, AddHyperlink, AddNote, AddRubberStamp, AddSquareCircle: ユーザーパスワードが注釈変更許可を許されている場合に動作。

ExtractAllBookmarks, ExtractAllHyperlinks, GetDocumentInfo: ユーザーパスワードが抽出許可を許されている場合に動作。

RotatePages, AppendBookmark, DeleteAllBookmarks: ユーザーパスワードが全編集許可またはドキュメントアセンブリの許可、いずれかを許されている場合に動作。

SetDocumentInfo, SetDocumentInfoXMP, AddStamp, AddStamp2, AddTrueTypePDFText, AddWatermark: ユーザーパスワードが全ての編集許可を許されている場合に動作。

 

VBScript での使用例

Set oProcessor = CreateObject("easyPDF.PDFProcessor.7")
Set oProcessorHandle = oProcessor.OpenFile("C:\input.pdf", "C:\output.pdf")
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.Close

VB.NET での使用例

Dim oProcessor As PDFProcessor = Nothing
Dim oProcessorHandle As PDFProcessorHandle = Nothing
Try
   oProcessor = New PDFProcessor
      oProcessorHandle = oProcessor.OpenFile("C:\input.pdf", "C:\output.pdf", Nothing)
   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)
Catch ex As System.Runtime.InteropServices.COMException
   MessageBox.Show(ex.Message)
Finally
   oProcessorHandle.Close()
End Try

C# での使用例

PDFProcessor oProcessor = null;
PDFProcessorHandle oProcessorHandle = null;
try
{
   oProcessor = new PDFProcessor();
      oProcessorHandle = oProcessor.OpenFile(@"C:\input.pdf", @"C:\output.pdf", null);
   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);
}
catch(System.Runtime.InteropServices.COMException ex)
{
   MessageBox.Show(ex.Message);
}
finally
{
oProcessorHandle.Close();
}