PDFに変換するときのレンダリングオプションの指定

PDF形式は固定ページ形式であり、ユーザーの間で非常に人気があり、PDF文書はどのデバイスでも同じように見えるため、さまざまなアプリケーションで広くサポー そのため、PDFへの変換はAspose.Wordsの重要な機能です。

PDFは複雑な形式です。 レイアウト計算を含む、ドキュメントをPDFに変換するプロセスでは、いくつかの段階の計算が必要です。 これらの段階には複雑な計算が含まれているため、時間がかかります。 また、PDF形式はそれ自体ではかなり複雑です。 これは、特定のファイル構造、グラフィックスモデルとフォントの埋め込みを持っています。 さらに、文書構造タグ、暗号化、デジタル署名、編集可能なフォームなど、いくつかの複雑な出力機能を備えています。

Aspose.Wordsレイアウトエンジンは、Microsoft Wordのページレイアウトエンジンの動作を模倣しています。 したがって、Aspose.WordsはPDF出力文書をMicrosoft Wordで見ることができるものにできるだけ近く見えるようにします。 追加のオプションを指定する必要がある場合がありますが、これは文書をPDF形式で保存した結果に影響を与える可能性があります。 これらのオプションは、PDF出力がどのように表示されるかを決定するプロパティを含むPdfSaveOptionsクラスを使用して指定できます。

PdfSaveOptionsの使用例をいくつか以下に示します。

入力可能なフォームを使用したPDFドキュメントの作成

入力可能なフォームをMicrosoft Wordドキュメントから出力PDFにエクスポートすることもできます。 入力可能なフォームで文書をPDFとして保存するには、PreserveFormFieldsプロパティを使用します。

Microsoft Wordとは対照的に、PDF形式には、textbox、combobox、checkboxなどの編集可能なフォームのオプションの数が限られていることに注意してください。 Microsoft Wordには、カレンダーの日付ピッカーなど、より多くの種類のフォームがあります。 一般に、PDFでMicrosoft Wordの動作を完全に模倣することはできません。 したがって、複雑な場合には、PDFの出力がMicrosoft Wordに表示されるものと異なる場合があります。

次のコード例は、指定されたJpeg圧縮と品質で入力可能なフォームを使用して文書をPDFとして保存する方法を示しています:

ドキュメント構造とカスタムプロパティのエクスポート

ExportDocumentStructureプロパティを使用すると、文書構造をPDF出力にエクスポートできます。

PDF論理構造ファシリティは、文書の内容構造に関する情報をPDFファイルに組み込むためのメカニズムを提供します。 Aspose.Wordsは、段落、リスト、表、脚注/文末脚注など、Microsoft Word文書からの構造に関する情報を保持します。Aspose.Wordsは、段落、リスト、表、脚注/文末脚注など、Microsoft Word文書からの構造に関する情報を保

次の例では、ドキュメントをPDF形式で保存し、ドキュメントの構造を保持する方法を示します:

Aspose.Wordsでは、ドキュメントのカスタムプロパティをPDFにエクスポートすることもできます。:

出力PDFのブックマークと見出しからアウトラインをエクスポートする

出力PDFでブックマークをアウトラインとしてエクスポートする場合は、DefaultBookmarksOutlineLevelプロパティを使用できます。 このプロパティは、Microsoft Wordブックマークが表示されるドキュメントアウトラインの既定のレベルを指定します。 ドキュメントのヘッダー/フッターにブックマークが含まれている場合は、HeaderFooterBookmarksExportModeプロパティをFirstまたはAllに設定して、出力PDFでエクスポートする方法を指定できます。 HeaderFooterBookmarksExportModeの値がNoneの場合、ヘッダー/フッターのブックマークはエクスポートされません。

以下のコード例は、セクションの最初のヘッダー/フッターからブックマークをエクスポートする方法を示しています:

この例の出力PDFを以下に示します:

specify-rendering-options-aspose-words-cpp-1

HeaderFooterBookmarksExportModeがFirstに設定されていて、ドキュメントに偶数と奇数のヘッダー/フッター、または別の最初のページのヘッダー/フッターがある場合、セクション内の最初の一意のヘッダー/フッターのブックマークがエクスポートされます。

HeadingsOutlineLevelsプロパティを使用して、出力PDFの見出しをエクスポートすることもできます。 このプロパティは、ドキュメントアウトラインに含まれる見出しのレベルの数を指定します。

次のコード例は、3つのレベルの見出しをエクスポートする方法を示しています:

この例の出力PDFを以下に示します:

specify-rendering-options-aspose-words-cpp-2

ドキュメントサイズを縮小するための画像のダウンサンプリング

Aspose.Wordsは、DownsampleOptionsプロパティを使用して、出力PDFサイズを小さくするために画像をダウンサンプリングする機能を提供します。 ダウンサンプリングは、DownsampleImagesプロパティで既定で有効になっています。

Resolutionプロパティに特定の解像度を設定したり、ResolutionThresholdプロパティに解像度のしきい値を設定したりすることもできます。 2番目のケースでは、画像の解像度がしきい値より小さい場合、ダウンサンプリングは適用されません。

次のコード例は、出力PDFドキュメント内の画像の解像度を変更する方法を示しています:

解像度は、ページ上の実際の画像サイズに応じて計算されます。

AdobePDF形式でフォントを埋め込む

Aspose.Wordsを使用すると、結果のPDFドキュメントにフォントを埋め込む方法を制御することもできます。 フォントは、任意のマシンでドキュメントを正しくレンダリングできるようにするために、AdobePDFドキュメントに埋め込む必要があります(フォントレンダ TrueTypeフォントの使用). デフォルトでは、Aspose.Wordsはドキュメントで使用されているフォントのサブセットを生成されたPDFに埋め込みます。 この場合、文書で使用されているグリフ(文字)のみがPDFに保存されます。

フルフォントを使用する場合とサブセット化する場合

完全なフォントを埋め込むためのAspose.Wordsのオプションを指定する方法があります。 さらなる詳細は、各設定のいくつかの利点および欠点とともに、以下の表に記載されている。

埋め込みフォントモード 利点 デメリット
Full テキストを追加または変更して、結果のPDFを後で編集する場合に便利です。 すべてのフォントが含まれているため、すべてのグリフが存在します。 一部のフォントは大きい(数メガバイト)ため、サブセットなしで埋め込むと、出力ファイルが大きくなる可能性があります。
Subset サブセットは、出力ファイルのサイズを小さくしたい場合に便利です。

ユーザーは、出力PDFドキュメント内のサブセットされたフォントを使用してテキストを完全に追加または編集することはできません。 これは、フォントのすべてのグリフが存在するわけではないためです。

複数のPDFsがサブセットされたフォントで保存され、一緒に組み立てられた場合、結合されたPDF文書には多くの不要なサブセットを含むフォントが含まれている可能性があります。

PDFにフルフォントを埋め込む

EmbedFullFontsプロパティを使用すると、Aspose.Wordsが出力PDFドキュメントにフォントを埋め込む方法を指定できます。

  • 出力PDFドキュメントに完全なフォントを埋め込むには、EmbedFullFontsをtrueに設定します
  • PDFに保存するときにフォントをサブセット化するには、EmbedFullFontsをfalseに設定します

次の例は、出力PDFドキュメントに完全なフォントを埋め込む方法を示しています:

次の例では、出力PDFのフォントをサブセット化するためにAspose.Wordsを設定する方法を示しています:

コアフォントとWindows標準フォントの埋め込みを制御する方法

コアフォントとWindows標準フォントは"標準"フォントのセットであり、通常はターゲットマシン上に存在するか、ドキュメントリーダーによって提供されるため、出力PDFに埋め込む必要はありません。 これらのフォントを埋め込んでいないことで、レンダリングされたPDFドキュメントのサイズを小さくし、移植性を維持できます。

Aspose.Wordsは、フォントをPDFにエクスポートする方法を選択するオプションを提供します。 コアフォントと標準フォントを出力PDFに埋め込むか、それらの埋め込みをスキップして、代わりにターゲットマシン上で標準コアフォントまたはシステ 通常、これらのオプションのいずれかを使用すると、Aspose.Wordsによって生成されたPDF文書のファイルサイズが大幅に削減されます。

  • これらのオプションは相互に排他的であるため、一度に1つだけ選択する必要があります。
  • PDF/A-1準拠で保存する場合は、使用されるすべてのフォントをPDFドキュメントに埋め込む必要があります。 この準拠で保存する場合は、UseCoreFontsプロパティをfalseに設定し、FontEmbeddingModeプロパティをEmbedAll.に設定する必要があります

コアフォントの埋め込み

コアフォントを埋め込むオプションは、UseCoreFontsプロパティを使用して有効または無効にできます。 Trueに設定されている場合、次の最も一般的な"True Type"フォント(ベース14フォント)は出力PDFドキュメントに埋め込まれません:

Arial Times New Roman Courier New Symbol

これらのフォントは対応するコアタイプ1フォントに置き換えられ、PDFが開かれたときにリーダーによって提供されます。

以下に示す例は、コアフォントの埋め込みを回避し、読者がPDFタイプ1フォントで置き換えるようにAspose.Wordsを設定する方法を示しています:

PDFビューアはサポートされている任意のプラットフォームでコアフォントを提供するため、このオプションはドキュメントの移植性を高める必要がある場合にも役立ちます。 ただし、コアフォントはシステムフォントとは異なる場合があります。

システムフォントの埋め込み

このオプションはFontEmbeddingModeプロパティを使用して有効または無効にすることができます。 このプロパティがEmbedNonstandardに設定されている場合、“Arial"および"Times New Roman"true typeフォントはPDFドキュメントに埋め込まれません。 この場合、クライアントビューアはクライアントのオペレーティングシステムにインストールされているフォントに依存します。 FontEmbeddingModeプロパティがEmbedNoneに設定されている場合、Aspose.Wordsはフォントを埋め込みません。

以下の例は、Aspose.Wordsを設定してArialフォントとTimes New RomanフォントをPDF文書に埋め込むのをスキップする方法を示しています:

このモードは、出力PDF内のフォントの正確な外観を維持しながら、同じプラットフォーム上でドキュメントを表示する場合に最も便利です。