PDFは非常に人気のあるファイル形式であり、異なるデバイス上でコンテンツの形式を保持します。Word文書と比較して、PDFはより安全で、アーカイブや送信に適しています。これらは、我々はWordをPDFに変換する必要があります理由の一部です。この記事では、Spire.Doc for C++を使用して、Word文書をPDFに変換する方法と変換オプションを設定する方法について説明します。
【依存関係の追加】
Spire.Doc for C++は、NuGetを使用するか、公式サイトからパッケージをダウンロードすることでインストールできます。詳しいインストール手順はこちらをご覧ください。
DocまたはDocxをPDFに変換する
Spire.Doc for C++が提供する Document->SaveToFile(LPCWSTR_S fileName, FileFormat fileFormat) メソッドは、WordをPDFとして保存できます。以下、詳しい手順を説明します。
- Document オブジェクトを作成します。
- Document->LoadFromFile() メソッドを使用してWordファイルを読み込みます。
- Doucment->SaveToFile() メソッドを使用して、文書をPDFに保存します。
C++
#include "Spire.Doc.o.h";
using namespace Spire::Doc;
using namespace std;
int main() {
//Documentのオブジェクトを作成する
Document* document = new Document();
//Wordファイルを読み込む
document->LoadFromFile(L"C:/もう一人のクレオパトラ.docx");
//文書をPDFに保存する
document->SaveToFile(L"WordからPDFへの変換.pdf", FileFormat::PDF);
document->Close();
delete document;
}
ブックマーク付きのWord文書をPDFに変換する
ブックマークは文書の読みやすさを向上させることができます。Word文書からPDFを生成する場合、Word文書の既存のブックマークを保持するか、見出しからブックマークを作成することができます。以下は、ブックマーク付きのWord文書をPDFに変換する手順です。
- Document のオブジェクトを作成します。
- Document->LoadFromFile() メソッドを使用してWordファイルを読み込みます。
- 変換オプションを設定するための ToPdfParameterList のオブジェクトを作成します。
- ToPdfParameterList.SetCreateWordBookmarksUsingHeadings() メソッドを使用して、Wordの見出しからPDFにブックマークを作成します。
- Doucment->SaveToFile(LPCWSTR_S fileName, ToPdfParameterList paramList) メソッドを使用して、文書をブックマーク付きのPDFに保存します。
C++
#include "Spire.Doc.o.h";
using namespace Spire::Doc;
using namespace std;
int main() {
//Documentのオブジェクトを作成する
Document* document = new Document();
//Wordファイルを読み込む
document->LoadFromFile(L"C:/もう一人のクレオパトラ.docx");
//ToPdfParameterListのオブジェクトを作成する
ToPdfParameterList* parameters = new ToPdfParameterList();
//Word文書の見出しからブックマークを作成する
parameters->SetCreateWordBookmarksUsingHeadings(true);
//Word文書にある既存のブックマークからPDFにブックマークを作成する
//parameters->SetCreateWordBookmarks(true);
//文書をPDFに保存する
document->SaveToFile(L"ブックマーク付きPDF.pdf", parameters);
document->Close();
delete document;
}
フォントを埋め込んだWord文書をPDFに変換する
Word文書で使用されているフォントをPDF文書に埋め込むことで、適切なフォントがインストールされていないデバイスでも、PDF文書が同じように見えるようにします。変換時にPDFにフォントを埋め込む手順は、以下の通りです。
- Document のオブジェクトを作成します。
- Document->LoadFromFile() を使用してWordファイルを読み込みます。
- 変換オプションを設定するために使用される ToPdfParameterList のオブジェクトを作成します。
- ToPdfParameterList.SetIsEmbeddedAllFonts() メソッドを使用して、生成されたPDFにフォントを埋め込みます。
- Doucment->SaveToFile(LPCWSTR_S fileName, ToPdfParameterList paramList) メソッドを使用して、文書をPDFに保存します。
C++
#include "Spire.Doc.o.h";
using namespace Spire::Doc;
using namespace std;
int main() {
//Documentのオブジェクトを作成する
Document* document = new Document();
//Wordファイルを読み込む
document->LoadFromFile(L"C:/Users/Sirion/Desktop/もう一人のクレオパトラ.docx");
//ToPdfParameterListのオブジェクトを作成する
ToPdfParameterList* parameters = new ToPdfParameterList();
//Word文書で使用されているフォントを生成されたPDFに埋め込む
parameters->SetIsEmbeddedAllFonts(true);
//文書をPDFに保存する
document->SaveToFile(L"フォントが埋め込まれたPDF.pdf", parameters);
document->Close();
delete document;
}
WordからPDFに変換する際の画質を設定する
高画質の画像を大量に含む文書は、ファイルサイズが大きくなります。Word文書をPDFに変換する際、画質を圧縮するかしないかを決めることができます。以下、詳しい手順を説明します。
- Document のオブジェクトを作成します。
- Document->LoadFromFile() メソッドを使用して Word ファイルを読み込みます。
- Document->SetJPEGQuality() メソッドを使用して、画質を設定します。
- Doucment->SaveToFile() メソッドを使用して、文書をPDFに保存します。
C++
#include "Spire.Doc.o.h";
using namespace Spire::Doc;
using namespace std;
int main() {
//Documentのオブジェクトを作成する
Document* document = new Document();
//Wordファイルを読み込む
document->LoadFromFile(L"C:/もう一人のクレオパトラ.docx");
//画像を元の画質の40%に圧縮する
document->SetJPEGQuality(40);
//元の画質を維持する
//document->SetJPEGQuality(100);
//文書をPDFに保存する
document->SaveToFile(L"画像の圧縮.pdf", FileFormat::PDF);
document->Close();
delete document;
}
Spire.Doc for C++は、Word文書をHTML、XML、XPS、画像など他の多くのフォーマットに変換することもできます。詳しくはSpire.Docのフォーラムをご覧ください。