C# コードの抜粋
PDFを作成する
...
Type type = Type.GetTypeFromProgID("easyPDF.Loader.7");
Loader oLoader = (Loader)Activator.CreateInstance(type);
Printer oPrinter = (Printer)oLoader.LoadObject("easyPDF.Printer.7");
PrintJob oPrintJob = oPrinter.PrintJob;
oPrintJob.PrintOut(Server.MapPath(@".\input.doc"), Server.MapPath(@".\output.pdf"));
...
あなたのサーバを準備する
PDFを処理そして操作する
- PDFProcessor オブジェクトの仕様を読む
このオブジェクトは既存のPDFファイルのポスト-プロセス(つまり、複数のPDFファイルを1つに統合、1つのPDFファイルを2つに分割、そして PDFファイルを暗号化/暗号解除をする等)を実行させます。
PDFファイルの統合
...
Type type = Type.GetTypeFromProgID("easyPDF.Loader.7");
Loader oLoader = (Loader)Activator.CreateInstance(type);
PDFProcessor oProcessor = (PDFProcessor)oLoader.LoadObject("easyPDF.PDFProcessor.7");
// Merge を使って2つのファイルを統合します。
oProcessor.Merge(Server.MapPath(@".\input1.pdf"), Server.MapPath(@".\input2.pdf"), Server.MapPath(@".\merged.pdf"));
// MergeBatch を使い、2つ以上のファイルを統合します。
string[] inputFiles = new string[]
{
Server.MapPath(@".\input1.pdf"),
Server.MapPath(@".\input2.pdf"),
Server.MapPath(@".\input3.pdf")
};
oProcessor.MergeBatch(inputFiles, Server.MapPath(@".\merged.pdf"));
...
PDFの分割
...
Type type = Type.GetTypeFromProgID("easyPDF.Loader.7");
Loader oLoader = (Loader)Activator.CreateInstance(type);
PDFProcessor oProcessor = (PDFProcessor)oLoader.LoadObject("easyPDF.PDFProcessor.7");
// 3ページ目でドキュメントを分割します。
oProcessor.Split(Server.MapPath(@".\input.pdf"), Server.MapPath(@".\part1.pdf"), Server.MapPath(@".\part2.pdf"), 3);
...
PDFからテキストを抽出
...
Type type = Type.GetTypeFromProgID("easyPDF.Loader.7");
Loader oLoader = (Loader)Activator.CreateInstance(type);
PDFProcessor oProcessor = (PDFProcessor)oLoader.LoadObject("easyPDF.PDFProcessor.7");
// ExtractText を使って1~4ページからテキストを物理的ファイルへ抽出します。
oProcessor.ExtractText(Server.MapPath(@".\input.pdf"), Server.MapPath(@".\extracted.txt"), null, 0, 3, null, null);
// ExtractText2 を使って、1ページ目のbounding boxからストリング変数へテキストを抽出します。
string text = oProcessor.ExtractText2(Server.MapPath(@".\input.pdf"), 0, 0, 0, 300, 300, null);
...
PDFをラスタライズする
...
Type type = Type.GetTypeFromProgID("easyPDF.Loader.7");
Loader oLoader = (Loader)Activator.CreateInstance(type);
PDFConverter oConverter = (PDFConverter)oLoader.LoadObject("easyPDF.PDFConverter.7");
PDF2Image oPDF2Image = oConverter.PDF2Image;
oPDF2Image.Convert(Server.MapPath(@".\input.pdf"), Server.MapPath(@".\output.jpg"), null, null, null);
...
PDFフォームフィールドを処理する
input.pdf フォームをダウンロードする (以下の27行目)
// この例は、PDFテンプレート内のはじめの2つのフィールドを取り出します。
// 2つのフィールドは、Name と Address です。
// そして、それらのフィールドの値は "BCL Technologies" と "Santa Clara, CA"で埋め込まれています。
Type type = Type.GetTypeFromProgID("easyPDF.Loader.7");
Loader oLoader = (Loader)Activator.CreateInstance(type);
PDFDocument oDocument = (PDFDocument)oLoader.LoadObject("easyPDF.PDFDocument.7");
oDocument.Open(Server.MapPath(@".\input.pdf"));
// PDFから全てのフォームフィールドを取得します。
FormFields oFormFields = oDocument.FormFields;
// 1番目のフォームフィールドを取得します。
FormField oFormField = oFormFields[0];
TextField oTextField;
if (oFormField.Type == docFormFieldType.DOC_FRMTYPE_TEXT && oFormField.Name == "Name")
{
// "BCL Technologies"を Name に設定します。
oTextField = (TextField)oFormField;
oTextField.Value = "BCL Technologies";
}
// 2番目のフォームフィールドを設定します。
oFormField = oFormFields[1];
if (oFormField.Type == docFormFieldType.DOC_FRMTYPE_TEXT && oFormField.Name == "Address")
{
// "Santa Clara, CA" を Address に設定します。
oTextField = (TextField)oFormField;
oTextField.Value = "Santa Clara, CA";
}
oDocument.SaveAs(Server.MapPath(@".\output.pdf"));