LoginSignup
0
0

More than 1 year has passed since last update.

C++でWord文書をPDFに変換する方法

Last updated at Posted at 2023-03-21

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;
}

DocまたはDocxをPDFに変換する

ブックマーク付きの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に変換する

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に変換する際の画質を設定する

高画質の画像を大量に含む文書は、ファイルサイズが大きくなります。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のフォーラムをご覧ください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0