CombinePDFEx

〜解説〜
PDFファイルを結合するCombinePDF()の拡張版APIです。
複数のPDFファイルを一気に結合させたい場合などはこちらをお使いください。
簡易しおりも作成できるようになり、進行状況のプログレスバーが表示されます。

〜引数〜
OpenFileListName:結合するファイルリストのテキストファイル名
SaveFileName:保存先のファイル名
Windowhandle: 親ウインドウのハンドル(処理中にDLLがウインドウを制御します)
UseOutLine: しおりを作成するかどうか TRUE/FALSE

〜戻り値〜
成功:1 失敗:(-1)失敗(-2)ユーザーによって処理をキャンセルされた

〜備考〜
結合するファイルリストは対象ファイルに下記の用に結合したいファイルのフルパスを入れて、
一行ごとに改行してください。ごみ文字がはいってると読み込めませんので注意して下さい。
※ファイルの文字コードは「Shift_JIS」です。

C:\abc.pdf
C:\abc2.pdf
C:\abc\abc.pdf

 サンプルファイルリスト

読み込めないファイルが一つでもあると処理を停止するので、
なるべく先にLoadPDF()で読み込めないファイルを除外してから使用してください。

※このAPIを使用するとインタラクティブな属性(しおり、リンク、アクロバットフォーム、注釈、アーティクル、JavaScript)がある場合にはその情報は失われます。 注意:元のファイルは変更されません。

〜サンプル〜

C/C++

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, 
                                 LPSTR lpszCmdLine, int nCmdShow)
{   
  HINSTANCE pdftools=NULL; // pdftool.dllのインスタンスハンドル
  pCombinePDFEx  CombinePDFEx=NULL; // CombinePDFEx API

  // DLLの読みこみ
  pdftools = LoadLibrary("pdftool.dll");
  if (pdftools!=NULL)
  {  
     //各APIの呼び出し
     CombinePDFEx = (pCombinePDFEx)GetProcAddress(pdftools, 
                                                 "CombinePDFEx");  
       // 複数のPDFをまとめて結合させる
       CombinePDFEx("c:\\pdffilelist.txt","c:\\test.pdf",0,false);

     FreeLibrary(pdftools);
   }
   return(0);
}

Delphi

procedure TForm1.Button1Click(Sender: TObject);
begin
    // 複数のPDFをまとめて結合させる
    CombinePDFEx ('c:\pdffilelist.txt','c:\test.pdf',Self.handle,false);
end;

VB

Private Sub Command1_Click()
Dim Ret As Long
    ' 複数のPDFをまとめて結合させる
    Ret = CombinePDFEx("c:\pdffilelist.txt", "c:\test.pdf", Me.hWnd, False)
End Sub
※VBAの場合は「Me.hWnd」を「Application.Hwnd」にします。


ホーム