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
|