![WordDOCXをPDFに変換する](images/Word-to-PDF-Conversion-C.png#center)
再びファイル形式APIのホームへようこそ!最近、。NET(C#を使用)およびJavaアプリケーションでWord(DOC / DOCX)をプログラムでPDFに変換するさまざまなシナリオをカバーするブログ投稿をいくつか作成しました。これは人気があり広く使用されている機能なので、C++でもカバーすることを考えました。したがって、この投稿では、C++アプリケーションでWordDOC/DOCXをPDFに変換する方法を紹介します。この記事では、次のWordからPDFへの変換について説明します。
- C++でのシンプルなWordDOC/DOCXからPDFへ。
- 特定の標準(PDF 1.5、PDF / A-1aなど)を使用したDOCXからPDFへ。
- DOCXの選択したページをPDFに変換します。
- DOCXからPDFへの変換で画像/テキスト圧縮を適用します。
C++WordからPDFへのコンバーターライブラリ
Aspose.Words for C++は、MSWordを必要とせずにC++アプリケーション内でWord文書形式を作成および操作するための高度なライブラリです。 NuGetまたはダウンロードを介してインストールできます。ライブラリファイルを含む完全なパッケージと、ソースコードの例を実行する準備ができています。
Word DOC/DOCXをC++でPDFに変換する
Word文書をPDFに変換するのは、Aspose.Words for C++を使用したパイと同じくらい簡単です。以下は、DOC/DOCXファイルをPDFに変換する手順です。
- Documentクラスのオブジェクトを作成し、Wordドキュメントのパスで初期化します。
- Document->Save()メソッドを呼び出して、ドキュメントをPDFとして保存します。
次のコードサンプルは、C++でDOCXをPDFに変換する方法を示しています。
// ディスクからドキュメントをロードします。
System::SharedPtr<Document> doc = System::MakeObject<Document>( u"Word.docx");
// 出力PDFパスを設定します
System::String outputPath = u"DOCX-to-PDF.pdf";
// DOCXをPDFに変換する
doc->Save(outputPath);
std::cout << "Converted DOCX to PDF successfuly.";
入力ワードドキュメント
![DOCXからPDFC++](images/DOCX-to-PDF-C.png#center)
変換されたPDFドキュメント
![C++でのDOCからPDFへ](images/DOC-to-PDF-C.png#center)
DOCXをC++でPDF/Aまたはその他のPDF標準に変換する
PDF形式は、PDF / A、PDF/EなどのさまざまなPDF標準をサポートしています。WordファイルをPDF/A-1aなどの特定の標準に変換する必要がある場合があります。このような場合、Aspose.Words for C++を使用すると、変換されたPDFに必要なPDF標準を設定できます。 WordからPDFへの変換でPDF標準を設定する手順は次のとおりです。
- Documentクラスのオブジェクトを作成し、DOCXファイルのパスで初期化します。
- PdfSaveOptionsクラスのオブジェクトを作成し、PdfSaveOptions->setCompliance()メソッドを使用してPDFコンプライアンスを設定します。
- Document->Save()メソッドを呼び出して、ドキュメントをPDFとして保存します。
次のコードサンプルは、WordDOCXをPDF/A-1a標準でPDFに変換する方法を示しています。
// ディスクからドキュメントをロードします。
System::SharedPtr<Document> doc = System::MakeObject<Document>( u"Word.docx");
// 出力PDFパスを設定します
System::String outputPath = u"DOCX-to-PDFA.pdf";
// PDFオプションを設定する
System::SharedPtr<PdfSaveOptions> options = System::MakeObject<PdfSaveOptions>();
options->set_Compliance(PdfCompliance::PdfA1a);
// ドキュメントをPDF形式で保存します。
doc->Save(outputPath, options);
std::cout << "Converted DOCX to PDF/A successfuly.";
Wordの選択したページをC++でPDFに変換する
Word全体をPDFに変換する代わりに、選択したページのみを変換することもできます。以下は、Wordの目的のページのみをPDFに変換する手順です。
- Documentクラスを使用してWordドキュメントをロードします。
- PdfSaveOptions->setPageIndex()メソッドを使用して、開始ページのインデックスを設定します。
- PdfSaveOptions->setPageCount()メソッドを使用して、変換するページ数を設定します。
- Document->Save()メソッドを使用して、ドキュメントをPDFとして保存します。
次のコードサンプルは、DOCXの選択したページをC++でPDFに変換する方法を示しています。
// ディスクからドキュメントをロードします。
System::SharedPtr<Document> doc = System::MakeObject<Document>( u"Word.docx");
// 出力PDFパスを設定します
System::String outputPath = u"DOCX-to-PDF.pdf";
// PDFオプションを設定する
System::SharedPtr<PdfSaveOptions> options = System::MakeObject<PdfSaveOptions>();
options->set_PageIndex(1);
options->set_PageCount(2);
// ドキュメントをPDF形式で保存します。
doc->Save(outputPath, options);
DOCXからPDFへの変換で画像/テキスト圧縮を適用する
サイズを小さくするために、結果のPDFドキュメントを圧縮することもできます。 Aspose.Words for C++では、PdfSaveOptions->setTextCompression()メソッドとPdfSaveOptions->setImageCompression()メソッドをそれぞれ使用して、テキストと画像の圧縮を適用できます。次のコードサンプルは、C++でDOCXをPDFに変換するときに圧縮を適用する方法を示しています。
// ディスクからドキュメントをロードします。
System::SharedPtr<Document> doc = System::MakeObject<Document>( u"Word.docx");
// 出力PDFパスを設定します
System::String outputPath = u"DOCX-to-PDF.pdf";
// PDFオプションを設定する
System::SharedPtr<PdfSaveOptions> options = System::MakeObject<PdfSaveOptions>();
// JPEG品質を設定する
options->set_JpegQuality(100);
// ドキュメントをPDF形式で保存します
doc->Save(outputPath, options);
Aspose.Words for C++の詳細
ドキュメントを使用して、Aspose.Words for C++の詳細を調べることができます。混乱を招く可能性がある場合は、フォーラムからお気軽にお知らせください。