ASP.NETサーバアプリケーションでPDFを作成する
コードの抜粋
...
Type type = Type.GetTypeFromProgID("easyPDF.Loader.6");
Loader oLoader = (Loader)Activator.CreateInstance(type);
Printer oPrinter = (Printer)oLoader.LoadObject("easyPDF.Printer.6");
PrintJob oPrintJob = oPrinter.PrintJob;
oPrintJob.PrintOut(Server.MapPath(@".\input.doc"), Server.MapPath(@".\output.pdf"));
...
あなたのサーバを準備する
- ステップ 1: ローダーセットアップ
ローダーオブジェクトは、サーバ-サイド環境において、easyPDF SDKを有効にするための支援オブジェクトです。ローダーオブジェクトは、別の方法で対処しなくてはならないような、サーバ-サイド コンフィギュレーションの多くを取り除きます。
- ステップ 2: Microsoft Office セットアップ [ビデオをご覧ください]
こちらの例では、どのようにしてMicrosoft Wordをサーバ使用のために準備するかを紹介しています。ここで必要なことは、PDF変換中に、Office製品からポップアップダイアログが確実に出 ないようにしておくことです。
- ステップ 3: COM セキュリティセットアップ [ビデオをご覧ください]
easyPDF SDKオブジェクトを作成することが、サーバ-サイド環境で適切に動作をします。
ASP.NETでPDFを処理・操作する (PDFの統合, 分割, 回転, 削除, 抽出, 最適化, など)
- PDFProcessor オブジェクトの仕様を読む
このオブジェクトは、既存のPDFファイルの(複数のPDFファイルを1つに統合する、1つのPDFファイルを2つに分割する、およびPDFファイルの暗 号化/非暗号化などの) ポスト-プロセスを可能にさせます。
PDFファイルを統合するためのコードの抜粋
...
Type type = Type.GetTypeFromProgID("easyPDF.Loader.6");
Loader oLoader = (Loader)Activator.CreateInstance(type);
PDFProcessor oProcessor = (PDFProcessor)oLoader.LoadObject("easyPDF.PDFProcessor.6");
// 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.6");
Loader oLoader = (Loader)Activator.CreateInstance(type);
PDFProcessor oProcessor = (PDFProcessor)oLoader.LoadObject("easyPDF.PDFProcessor.6");
// 3 ページ目でドキュメントを分割します。
oProcessor.Split(Server.MapPath(@".\input.pdf"), Server.MapPath(@".\part1.pdf"), Server.MapPath(@".\part2.pdf"), 3);
...
PDFからテキストを抽出するためのコードの抜粋
...
Type type = Type.GetTypeFromProgID("easyPDF.Loader.6");
Loader oLoader = (Loader)Activator.CreateInstance(type);
PDFProcessor oProcessor = (PDFProcessor)oLoader.LoadObject("easyPDF.PDFProcessor.6");
// 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);
...
ASP.NETでPDFをラスタライズする
コードの抜粋
...
Type type = Type.GetTypeFromProgID("easyPDF.Loader.6");
Loader oLoader = (Loader)Activator.CreateInstance(type);
PDFConverter oConverter = (PDFConverter)oLoader.LoadObject("easyPDF.PDFConverter.6");
PDF2Image oPDF2Image = oConverter.PDF2Image;
oPDF2Image.Convert(Server.MapPath(@".\input.pdf"), Server.MapPath(@".\output.jpg"), null, null, null);
...
ASP.NETでPDFフォームフィールドを処理する
コードの抜粋
input.pdfフォームをダウンロードする (以下の27行目)
// この例は、PDFテンプレート内のはじめの2つのフィールドを取り出します。
// 2つのフィールドは、Name と Addressです。
// そして、それらのフィールドの値は "BCL Technologies" と "Santa Clara, CA" で埋め込まれています。
Type type = Type.GetTypeFromProgID("easyPDF.Loader.6");
Loader oLoader = (Loader)Activator.CreateInstance(type);
PDFDocument oDocument = (PDFDocument)oLoader.LoadObject("easyPDF.PDFDocument.6");
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"));