GrapeCity ActiveReports for .NET 16.0J
PDFエクスポート
ActiveReportsユーザーガイド > エクスポート > エクスポートフィルタ > PDFエクスポート

ポータブルドキュメント形式(PDF)は、Adobe Readerで開くことができます。PDFのエクスポートフィルタは、出力を制御するために複数のプロパティを提供します。プロジェクトに次のパッケージへの参照を追加し、コード上でPDFExportオブジェクトを使用してください。

レポートの種類 パッケージ名
セクションレポート GrapeCity.ActiveReports.Export.Pdf.ja

PDFエクスポートフィルタでは、デフォルトフォント設定(PDFマルチランゲージ)PDF電子署名/タイムスタンプのような機能を使用することができます。

メモ:

PDFエクスポートのプロパティ

プロパティ 有効な値 解説
ConvertMetaToPng True、False (デフォルト)

レポート内のメタファイル(WMF、EMF形式)画像をPNGに変換するかを設定します。メタファイルが存在しない場合、この設定は無視されます。

メモ:

  • GDI互換モードでのみ機能します。
  • GDI互換モードでは、画像やチャートに対してEMFおよびWMF形式でメタファイルを記録できます。
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準拠レベルを設定します。

 

 

OptionsプロパティとSecurityプロパティ

Optionsプロパティ、Securityプロパティのサブプロパティについて説明します。

[プロパティ]ウィンドウにあるOptionsプロパティ、Securityプロパティを展開すると、以下のプロパティを設定することができます。

Optionsプロパティ

プロパティ 有効な値 解説
Application String PDFリーダーの[文書のプロパティ]ダイアログの[概要]ダブの[アプリケーション]フィールドに表示する値を返します。
Author String ドキュメントの作成者名を設定します。
CenterWindow True、False (デフォルト) 「True」に設定すると、ドキュメントは画面の中央に表示されます。
DisplayMode None(デフォルト)、Outlines、Thumbs、FullScreen

開いたときにどのようにドキュメントを表示すべきかを指定します。

  • None: 表示状態に関して何も設定しません。
  • Outlines: ブックマークを別ウィンドウで表示するように設定します。
  • Thumbs: サムネールを開いた状態で表示するように設定します。
  • FillScreen: フルスクリーンで表示するように設定します。
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 リーダーに入力するユーザーパスワードを設定します。このプロパティ値が空白の場合、ドキュメントを開いたときにパスワードを入力するダイアログは表示されません。それ以外の場合、ユーザーはドキュメントを開いたときにパスワードを入力する必要があります。

PAdES署名の対応

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)」を参照してください。

PDF印刷プリセットのプロパティ

ActiveReportsでは、レポートをPDFドキュメントにエクスポートするとき、PrintPresetsクラスを使用して、基本的な印刷設定をプリセットできます。プリセットした設定は、印刷ダイアログボックスを開いたときに自動で印刷設定に反映されます。詳細については、「PDF印刷プリセットの使用」を参照してください。

メモ:PDF印刷プリセットはProfessionalの機能です。Standardで使用する場合、Professionalのライセンスが必要なことを示すバナーが表示されます。
プロパティ 解説
PageScaling 印刷可能領域の拡大/縮小を指定します。「Default」を選択した場合は、印刷可能領域に合わせて縮小されます。「None」を選択した場合は、縮小を行いません。
DuplexMode

プリンタの「両面印刷モード」を指定します。両面オプションを選択する場合、選択したプリンターが両面印刷に対応している必要があります。以下のオプションのいずれかを選択します。

  • Simplex: 用紙の片面に印刷します。これはデフォルトの値です。
  • DuplexFlipLongEdge: 用紙の両面(長辺とじ)に印刷します。
  • DuplexFlipShortEdge: 用紙の両面(短辺とじ)に印刷します。
PaperSourceByPageSize ページ設定オプションではなく、PDFページサイズに基づいて出力トレイを決定します。複数のページサイズのPDFを印刷するとき、このオプションを使用できます。デフォルトでは、Falseに設定されています。
PrintPageRange ページ範囲を指定します。"1-3"のように範囲を指定するか、"1", "2", "3"のように特定のページを指定します。
NumberOfCopies 印刷する部数を指定します。[Two][Five]のいずれかを選択するか、1部のみ印刷する場合は[Default]オプションを選択します。
メモ:これらのプロパティは、PDFバージョン1.7以上で使用できます。PageScalingプロパティは、PDFバージョン1.6でサポートされています。

PDFでのメタデータ

メタデータの追加

Adding metadata

キーワード、説明などのメタデータは、検索エンジンによって検索を絞り込むために使用されます。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 = "タイトル",
    .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 = "タイトル",
    Value = "請求書"
 };          
            
pdfExport.Options.AdditionalMetadata.Add(metadata1);
pdfExport.Export(sectionReport.Document, Application.StartupPath + "\\MyPDF.pdf");

 

添付ファイルの追加

Adding an attachment

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の左側のパネルで確認できます。

メモ:この機能は、Professionalエディションでのみ使用でき、PDF/A-3b以降のバージョンでサポートされます。

PDF/Aの制限事項

関連トピック