C/C++
// PDFファイルの情報構造体(書き込み用) typedef struct _SETPDFINFOHEADER { char *Title; // タイトル char *Subject; // サブタイトル char *Author; // 作成者 char *Keywords; // キーワード char *Creator; // 作成 char *Producer; // PDF変換 char *CreationDate; // 作成日時 char *ModDate; // 更新日時 } SETPDFINFOHEADER; typedef SETPDFINFOHEADER *PSETPDFINFOHEADER ; ↑定義部 ---------------------------------- int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int nCmdShow) { HINSTANCE pdftools=NULL; // pdftool.dllのインスタンスハンドル pLoadPDF LoadPDF=NULL; // LoadPDF API pFreePDF FreePDF=NULL; // FreePDF API pWritePDFInfo WritePDFInfo =NULL; // WritePDFInfo API SETPDFINFOHEADER SPDFH; int pdf; // DLLの読みこみ pdftools = LoadLibrary("pdftool.dll"); if (pdftools!=NULL) { //各APIの呼び出し LoadPDF = (pLoadPDF)GetProcAddress(pdftools, "LoadPDF"); FreePDF = (pFreePDF)GetProcAddress(pdftools, "FreePDF"); WritePDFInfo = (pWritePDFInfo)GetProcAddress(pdftools, "WritePDFInfo"); // PDFファイルを読み込む pdf =LoadPDF("c::\test.pdf"); // PDFの情報を構造体に設定 SPDFH.Title="タイトル"; SPDFH.Subject= "サブタイトル"; SPDFH.Author="作成者"; SPDFH.Keywords="キーワード"; SPDFH.Creator= "作成"; SPDFH.Producer= "PDF変換"; SPDFH.CreationDate= "1999.03.11 21:28:08"; SPDFH.ModDate= "1999.03.11 21:28:08"; // PDFに情報を書き込む WritePDFInfo (pdf,(PSETPDFINFOHEADER)&SPDFH, "c:\\test2.pdf" ); // PDFファイルのハンドルを解放する FreePDF(pdf); FreeLibrary(pdftools); } return(0); } |
Delphi
// PDFファイルの情報構造体(書き込み用) type pSetPDFInfoHeader =^TSetPDFInfoHeader; TSetPDFInfoHeader =packed record Title : pchar; // タイトル Subject : pchar; // サブタイトル Author : pchar; // 作成者 Keywords : pchar; // キーワード Creator : pchar; // 作成 Producer : pchar; // PDF変換 CreationDate : pchar; // 作成日時 ModDate : pchar; // 更新日時 end; ↑定義部 ---------------------------------- procedure TForm1.Button1Click(Sender: TObject); var pdf,cnt: integer; PDFInfoHeader :TSetPDFInfoHeader; begin // 構造体の初期化 ZeroMemory(@PDFInfoHeader,sizeof(TSetPDFInfoHeader)); if OpenDialog1.Execute then begin pdf:=LoadPDF(pchar(OpenDialog1.filename)); // PDFの情報を構造体に設定 PDFInfoHeader.Title:=pchar(edit1.text); PDFInfoHeader.Subject:=pchar(edit2.text); PDFInfoHeader.Author:=pchar(edit3.text); PDFInfoHeader.Keywords:=pchar(edit4.text); PDFInfoHeader.Creator:=pchar(edit5.text); PDFInfoHeader.Producer:=pchar(edit6.text); PDFInfoHeader.CreationDate:=pchar(edit7.text); PDFInfoHeader.ModDate :=pchar(edit8.text); // PDFに情報を書き込む WritePDFInfo(pdf,@PDFInfoHeader,'c:\test.pdf'); freePDF(pdf); end; end; |
VB
' PDFファイルの情報構造体(書き込み用) Public Type TSetPDFInfoHeader Title As String ' タイトル Subject As String ' サブタイトル Author As String ' 作成者 Keywords As String ' キーワード Creator As String ' 作成 Producer As String ' PDF変換 CreationDate As String ' 作成日時 ModDate As String ' 更新日時 End Type ↑定義部 ---------------------------------- Private Sub Command1_Click() Dim pdf As Long Dim PDFIH As TSetPDFInfoHeader pdf = LoadPDF("c:\test1.pdf") ' PDFの情報を構造体に設定 PDFIH.Title = Text1.Text PDFIH.Subject = Text2.Text PDFIH.Author = Text3.Text PDFIH.Keywords = Text4.Text PDFIH.Creator = Text5.Text PDFIH.Producer = Text6.Text PDFIH.CreationDate = "1999.03.11 21:28:08" PDFIH.ModDate = "1999.03.11 21:28:08" ' PDFに情報を書き込む Call WritePDFInfo(pdf, PDFIH, "c:\test2.pdf") FreePDF (pdf) End Sub |