ポータブルドキュメント形式(PDF)は、Adobe Readerで開くことができます。PDFのエクスポートフィルタは、出力を制御するために複数のプロパティを提供します。プロジェクトに次のパッケージへの参照を追加し、コード上でPDFExportオブジェクトを使用してください。
レポートの種類 | パッケージ名 |
---|---|
セクションレポート | MESCIUS.ActiveReports.Export.Pdf.ja |
PDFエクスポートフィルタでは、デフォルトフォント設定(PDFマルチランゲージ)とPDF電子署名/タイムスタンプの機能を使用できます。
メモ:
PDFエクスポートのプロパティ
プロパティ | 有効な値 | 解説 |
---|---|---|
ConvertMetaToPng | True、False (デフォルト) |
レポート内のメタファイル(WMF、EMF形式)画像をPNGに変換するかを設定します。メタファイルが存在しない場合、この設定は無視されます。 メモ:
|
ExportBookmarks | True(デフォルト)、False | ブックマークをPDFドキュメントにエクスポートするかどうか設定します。レポートにブックマークが存在しない場合、この設定が無視されます。エクスポートされたブックマークの表示方法を制御するには、Options.DisplayModeを使用します。 |
FontFallback | コントロールに指定したフォントにおいて出力対象の字体(グリフ)が見つからない場合、検索するフォント名を示すカンマ区切りの文字列を設定、または参照します。(Professionalのみ) |
Standardで使用した場合、この設定値は無視されます。 PDFに出力した際に正しく出力されないフォント、または特定のフォントで何らかの問題が発生する場合は、製品の制限事項となります。 メモ: GDI互換モードでのみ機能します。 |
ImageQuality | Lowest、Medium、Highest(デフォルト) | 画像ファイルをエクスポートする際の画像の品質を指定します。WMF(Windows Metafile)をエクスポートする場合、エクスポートされた画像が期待したものとなるよう、ImageResolutionプロパティとこのプロパティの値を調整します。ファイルのサイズを縮小するには、「Lowest」に設定します。レポート内にメタファイルが存在しない場合、この設定は無視されます。 |
ImageResolution | 75 - 2400 dpi | このプロパティは、メタファイルを使用する場合に有効に働きます。標準的な値は、「75 - 2400 dpi」です。低解像度で容量を節約する場合には「75 dpi」、画面に表示するだけであれば「150 dpi」、印刷を行う場合には「300 dpi」以上が目安となります。メタファイルを、Pictureコントロールの画像として設定するか、もしくはPage.DrawPictureを使用して設定する場合に、PDFにエクスポートするメタファイルの画像の解像度を設定、または取得します。 |
NeverEmbedFonts | PDFドキュメントに埋め込む必要のないフォントを示す、一連の値のセミコロン区切りの文字列。"*"を指定すると、レポート内で使用している全てのフォントを非埋め込みに設定できる。 | このプロパティに設定されたフォントは、PDFデータ内にフォントデータとして埋め込まれません(非埋め込みフォントとなります)。デフォルトは、「Arial;Courier New;Times New Roman」です。フォントを埋め込まない場合、PDFファイルのサイズが小さくなります。 |
Options | 後述 | エクスポートしたPDFドキュメントをビューワで表示したときの状態や、ドキュメント情報のオプション指定が行えるオブジェクトを返します。 |
Security | 後述 | ドキュメントの暗号化とセキュリティを初期化するためにPdfSecurityオブジェクトを返します。 |
Signature | 有効なPdfSignatureのオブジェクト | 電子証明書を表すPdfSignatureオブジェクトを取得します。 このプロパティは、コードで設定する必要があります。詳細については、「PDF電子署名/タイムスタンプ」を参照してください。 |
Version |
Pdf11、Pdf12、Pdf13、Pdf14、Pdf15、Pdf16、Pdf17、Pdf20、PdfA1a、PdfA1b、PdfA2a、PdfA2b、PdfA2u、PdfA3a、PdfA3b、PdfA3u、PdfUA1 |
エクスポートするドキュメントが保存されるPDFフォーマットのバージョン、およびPDF/A準拠レベルを設定します。
|
Watermark | 「CompatibilityMode=CrossPlatform」の場合のみ有効です。 | レポートをウォーターマーク付きでPDFにエクスポートするかどうかを制御します。 |
Optionsプロパティ、Securityプロパティのサブプロパティについて説明します。
[プロパティ]ウィンドウにあるOptionsプロパティ、Securityプロパティを展開すると、以下のプロパティを設定することができます。
Optionsプロパティ
プロパティ | 有効な値 | 解説 |
---|---|---|
Application | String | PDFリーダーの[文書のプロパティ]ダイアログの[概要]ダブの[アプリケーション]フィールドに表示する値を返します。 |
Author | String | ドキュメントの作成者名を設定します。 |
CenterWindow | True、False (デフォルト) | 「True」に設定すると、ドキュメントは画面の中央に表示されます。 |
DisplayMode | None(デフォルト)、Outlines、Thumbs、FullScreen |
開いたときにどのようにドキュメントを表示すべきかを指定します。
|
DisplayTitle | True、False(デフォルト) | 「True」に設定すると、ドキュメントのタイトルが設定されている場合に、ウィンドウのタイトルバーにそのタイトルが表示されます。「False」に設定すると、PDFファイル名が表示されます。 |
FitWindow | True、False (デフォルト) | 「True」に設定すると、ドキュメントのウィンドウ(ビューワの内部ウィンドウ)は必ず初期設定のサイズで表示されます。 |
HideMenubar | True、False (デフォルト) | 「True」に設定すると、ドキュメントを表示するビューワアプリケーションのメニューバーを非表示にします。 |
HideToolbar | True、False (デフォルト) | 「True」に設定すると、ドキュメントを表示するビューワアプリケーションのツールバーを非表示にします。 |
HideWindowUI | True、False (デフォルト) | 「True」に設定すると、ドキュメントウィンドウのユーザーインタフェース要素(たとえば、スクロールバーやナビゲーションコントロール)を非表示にします。つまりドキュメントの内容のみを表示します。 |
Keywords | String | ドキュメントに関連したキーワードを設定します。 |
OnlyForPrint | True、False (デフォルト) | PDFは印刷のみであるかを設定します。 |
Subject | String | ドキュメントのサブタイトルを設定します。 |
Title | String |
ドキュメントのタイトルを設定します。 ドキュメントを開く際に、Adobe Readerのタイトルバーにテキストを表示するには、DisplayTitleプロパティを「True」に設定します。 |
Securityプロパティ
プロパティ | 有効な値 | 解説 |
---|---|---|
Encrypt | True、False (デフォルト) | ドキュメントを暗号化するかどうかを決定します。 |
OwnerPassword | String | リーダーに入力するオーナーパスワードを設定します。これは指定されたユーザー許可にかかわらずドキュメントへのフルアクセスを許可します。オーナーパスワードを設定しない場合、セキュリティ設定を変更できません。 |
Permissions | None、AllowPrint、AllowModifyContents、AllowCopy、AllowModifyAnnotations、AllowFillIn、AllowAccessibleReaders、AllowAssembly | ドキュメントのためのユーザー許可を指定します。PdfPermissionsの値は、ビットごとのOR演算を使用してビットフィールドを組み合わせることができます。 |
Use128Bit | True(デフォルト)、またはFalse |
Use128Bitプロパティは将来的に廃止が予定されており、値を設定しても暗号化レベルを変更することはできません。PDF暗号化レベルは必ず 256bit AES となります。 |
UserPassword | String | リーダーに入力するユーザーパスワードを設定します。このプロパティ値が空白の場合、ドキュメントを開いたときにパスワードを入力するダイアログは表示されません。それ以外の場合、ユーザーはドキュメントを開いたときにパスワードを入力する必要があります。 |
Watermarkプロパティ(CompatibilityMode=CrossPlatformの場合のみ)
プロパティ | 有効な値 | 解説 |
---|---|---|
Angle | String | PDFドキュメント上のウォーターマーク(透かし)の角度を指定します。有効な値の範囲は「0」~「359」で、「0」は水平(左から右)です。 |
Color | String | PDFドキュメント上のウォーターマーク(透かし)のテキストの色を選択します。 |
FontName | String | ウォーターマーク(透かし)に使用するフォントを設定します。 |
FontSize | String |
ウォーターマークのフォントサイズを設定します。 |
FontStyle | Regular、Bold、Italic、Underline、Strikeout | ウォーターマークのフォントスタイルを設定します。 |
PrintOnly | True、またはFalse(デフォルト) | 印刷されたページにのみウォーターマークを表示するかどうかを指定します。 |
Text | String | ウォーターマークとして使用する文字列を設定します。 |
SignatureFormatプロパティを使用して、ISO 32000-2(PDF2.0)のPAdES(PDF長期署名)仕様に準拠した署名を使用できます。以下に、サンプルコードを示します。
Visual Basicコード |
コードのコピー
|
---|---|
oPDFExport.Signature.SignatureFormat = GrapeCity.ActiveReports.Export.Pdf.Section.Signing.SignatureFormat.ETSI_CAdES_detached |
C#コード |
コードのコピー
|
---|---|
oPDFExport.Signature.SignatureFormat = GrapeCity.ActiveReports.Export.Pdf.Section.Signing.SignatureFormat.ETSI_CAdES_detached; |
ActiveReportsのプロジェクトでPDF電子署名を使用する方法については、「電子署名 サンプル(Professional)」を参照してください。
ActiveReportsでは、レポートをPDFドキュメントにエクスポートするとき、PrintPresetsクラスを使用して、基本的な印刷設定をプリセットできます。プリセットした設定は、印刷ダイアログボックスを開いたときに自動で印刷設定に反映されます。詳細については、「PDF印刷プリセットの使用」を参照してください。
プロパティ | 解説 |
---|---|
PageScaling | 印刷可能領域の拡大/縮小を指定します。「Default」を選択した場合は、印刷可能領域に合わせて縮小されます。「None」を選択した場合は、縮小を行いません。 |
DuplexMode |
プリンタの「両面印刷モード」を指定します。両面オプションを選択する場合、選択したプリンターが両面印刷に対応している必要があります。以下のオプションのいずれかを選択します。
|
PaperSourceByPageSize | ページ設定オプションではなく、PDFページサイズに基づいて出力トレイを決定します。複数のページサイズのPDFを印刷するとき、このオプションを使用できます。デフォルトでは、Falseに設定されています。 |
PrintPageRange | ページ範囲を指定します。"1-3"のように範囲を指定するか、"1", "2", "3"のように特定のページを指定します。 |
NumberOfCopies | 印刷する部数を指定します。[Two]~[Five]のいずれかを選択するか、1部のみ印刷する場合は[Default]オプションを選択します。 |
キーワード、説明などのメタデータは、検索エンジンによって検索を絞り込むために使用されます。AdditionalMetadataプロパティを使用して、タイトル、寄稿者、共同作成者、著作権、説明など、事前定義されたいくつかのアクセサを追加できます。許可される名前空間は次のとおりです。
Visual Basicコード(Form Loadイベント内に貼り付けます。) |
コードのコピー
|
---|---|
Dim sectionReport As GrapeCity.ActiveReports.SectionReport = New GrapeCity.ActiveReports.SectionReport() Dim xtr As XmlReader = XmlReader.Create(Application.StartupPath & "\SectionReport1.rpx") sectionReport.LoadLayout(xtr) sectionReport.Run() Dim pdfExport As GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport = New GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport() Dim metadata1 = New AdditionalMetadataInfo With { .[Namespace] = AdditionalMetadataNamespace.PurlOrg, ' Dublin Core のプロパティ .Key = "title", .Value = "請求書" } pdfExport.Options.AdditionalMetadata.Add(metadata1) pdfExport.Export(sectionReport.Document, Application.StartupPath & "\MyPDF.pdf") |
C#コード(Form Loadイベント内に貼り付けます。) |
コードのコピー
|
---|---|
GrapeCity.ActiveReports.SectionReport sectionReport = new GrapeCity.ActiveReports.SectionReport(); XmlReader xtr = XmlReader.Create(Application.StartupPath + "\\SectionReport1.rpx"); sectionReport.LoadLayout(xtr); sectionReport.Run(); GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport pdfExport = new GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport(); // メタデータを追加します。 var metadata1 = new AdditionalMetadataInfo { Namespace = AdditionalMetadataNamespace.PurlOrg, //Dublin Core のプロパティ Key = "title", Value = "請求書" }; pdfExport.Options.AdditionalMetadata.Add(metadata1); pdfExport.Export(sectionReport.Document, Application.StartupPath + "\\MyPDF.pdf"); |
Attachmentsプロパティを使用して、エクスポートされたPDFに添付ファイルをメタデータ(例えば、請求書など)として追加することができます。このプロパティを使用すると、PDFにxmlやtxt形式のファイルを添付できます。以下は、セクションレポートをPDFにエクスポートして、エクスポートされたPDFにファイルを添付する例です。
Visual Basicコード(Form Loadイベント内に貼り付けます。) |
コードのコピー
|
---|---|
Dim sectionReport As GrapeCity.ActiveReports.SectionReport = New GrapeCity.ActiveReports.SectionReport() Dim xtr As XmlReader = XmlReader.Create(Application.StartupPath + _, SectionReport1.rpx) sectionReport.LoadLayout(xtr) sectionReport.Run() Dim pdfExport As GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport = New GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport() Dim attachment = New GrapeCity.ActiveReports.Export.Pdf.AttachmentInfo With { .Name = "file.txt", .Content = System.IO.File.ReadAllBytes("D:\Reports\file.txt"), .Description = "添付ファイルの説明" } pdfExport.Options.Attachments.Add(attachment) pdfExport.Export(sectionReport.Document, Application.StartupPath & "\MyPDF.pdf") |
C#コード(Form Loadイベント内に貼り付けます。) |
コードのコピー
|
---|---|
GrapeCity.ActiveReports.SectionReport sectionReport = new GrapeCity.ActiveReports.SectionReport(); XmlReader xtr = XmlReader.Create(Application.StartupPath + \\SectionReport1.rpx); sectionReport.LoadLayout(xtr); sectionReport.Run(); GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport pdfExport = new GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport(); // 添付ファイルを追加します。 var attachment = new GrapeCity.ActiveReports.Export.Pdf.AttachmentInfo { Name = "file.txt", Content = System.IO.File.ReadAllBytes(@"D:\Reports\file.txt"), Description = "添付ファイルの説明" // オプション }; pdfExport.Options.Attachments.Add(attachment); pdfExport.Export(sectionReport.Document, Application.StartupPath + "\\MyPDF.pdf"); |
エクスポートされたPDFを開くと、添付ファイルが表示されます。これは、Adobe Acrobat DCの左側のパネルで確認できます。