最近では、WordからPDFへの変換が一般的に行われており、ドキュメントを共有する前に行うことをお勧めします。 MS Wordには、Word文書をPDFとして保存する機能が組み込まれていますが、WebアプリケーションなどでWord文書をプログラムでPDFに変換する場合や、MSOfficeをインストールせずにWordからPDFへのバッチ変換が必要な場合があります。したがって、この記事では、.NETまたは.NET CoreフレームワークでC#を使用してWordDOCXまたはDOCをPDFに変換する方法を学習します。
WordからPDFへのC#変換シナリオ
この記事では、次の方法を学習します。
- Word DOCX / DOCをC#でPDFに変換する
- Word文書の目的のページをC#でPDFに変換します
- PDF 1.7、PDF/A-1aなどの特定のPDF標準を使用したWordからPDFへの変換。
- C#で画像/テキスト圧縮を使用してWordをPDFに変換する
- C#のデジタル署名付きのDOCX/DOCからPDFへ
- 画像に必要なJPEG品質でのWordからPDFへの変換
C#DOCX/DOCからPDFへのコンバーター
Aspose.Words for .NETは、一般的なWord文書形式を作成および操作するための強力なAPIです。 APIは、Word文書を忠実度の高いPDFに変換する簡単な方法も提供します。したがって、C#でのWordからPDFへの変換では、最初にプロジェクトにAspose.Words for .NET DLLへの参照を追加するか、次のいずれかの方法を使用してインストールします。
NuGetパッケージマネージャーの使用
- VisualStudioでプロジェクトを作成/開きます。
- NuGetパッケージマネージャーに移動し、Aspose.Wordsを検索します。
- Aspose.Words for .NETをインストールします。
パッケージマネージャーコンソールの使用
PM> Install-Package Aspose.Words
Simple Word(DOCX / DOC)からPDF C#への変換
Word文書をPDFに変換するには、Document.Save()メソッドを呼び出し、出力ファイル名に「.pdf」拡張子を付ける必要があります。次のコードサンプルは、C#でWordDOCをPDFに変換する方法を示しています。
// ディスクからドキュメントをロードします。
Document doc = new Document("word.doc");
// PDFとして保存
doc.Save("output.pdf");
Word文書
変換されたPDF
Word DOCXの選択したページをC#でPDFに変換する
結果のPDFドキュメントで取得するページの範囲を指定することにより、WordからPDFへの変換をカスタマイズすることもできます。最初のNページを変換するか、開始ページのインデックスを指定してページの範囲を定義することができます。次のコードサンプルは、Word文書の2ページ目から始まる3ページをC#でPDFに変換する方法を示しています。
Document doc = new Document("word.docx");
PdfSaveOptions options = new PdfSaveOptions();
// インデックス1から始まる3ページを変換します。0は最初のページのインデックスです。
options.PageIndex = 1;
options.PageCount = 3;
// WordをPDFとして保存
doc.Save("output.pdf", options);
Word DOCX / DOCをC#の特定のPDF標準を使用してPDFに変換する
PDFドキュメントは、PDF 1.7、PDF 1.5、PDF / A-1aなどのさまざまなPDF標準に準拠している場合があります。これに従って、Aspose.Words for .NETでは、WordからPDFへの変換でPDF準拠レベルを指定できます。 PdfCompliance列挙型を使用してコンプライアンスレベルを指定できます。次のコードサンプルは、Word DOCXのコンプライアンスレベルをC#のPDF変換に設定する方法を示しています。
Document doc = new Document("word.docx");
// PDFSaveOptionコンプライアンスをPDF17に設定します
PdfSaveOptions options = new PdfSaveOptions();
options.Compliance = PdfCompliance.Pdf17;
// WordをPDFに変換する
doc.Save("output.pdf", options);
C#でテキスト/画像圧縮を使用してWordをPDFに変換する
PDF形式は、テキストと画像の圧縮をサポートして、ドキュメントのサイズを縮小します。 PDFドキュメントはサイズが大きくなる可能性があるため、コンテンツの圧縮により、アップロード、共有、印刷などが簡単になります。テキストと画像の圧縮は、Aspose.Words for .NETを使用したWordからPDFへの変換にも適用できます。
テキスト圧縮オプション
次のテキスト圧縮オプションは、PdfTextCompression列挙型で使用できます。
- なし:テキスト圧縮なしでPDFを保存します。
- Flate:Flate(ZIP)圧縮でPDFを保存します。
画像圧縮
PdfImageCompression列挙型では、次の画像圧縮オプションを使用できます。
- 自動:APIは、ドキュメント内のすべての画像に最も適切な圧縮を自動的に選択します。
- Jpeg:JPEG画像への圧縮(透明度をサポートしていません)。
次のコードサンプルは、C#でテキストと画像を圧縮してWordDOCXをPDFに変換する方法を示しています。
Document doc = new Document("word.docx");
PdfSaveOptions options = new PdfSaveOptions();
// テキストと画像の圧縮
options.TextCompression = PdfTextCompression.Flate;
options.ImageCompression = PdfImageCompression.Auto;
// WordをPDFとして保存
doc.Save("output.pdf", options);
デジタル署名を使用したC#WordからPDFへの変換
WordからPDFへの変換を実行しながら、出力PDFにデジタル署名を適用することもできます。 CertificateHolderクラスを使用すると、デジタル証明書とパスワードを指定できます。 PdfDigitalSignatureDetailsクラスを使用すると、証明書の所有者、理由、場所、日付/時刻などのデジタル署名の詳細を提供できます。次のコードサンプルは、C#でデジタル署名を使用してWord DOC/DOCXをPDFに変換する方法を示しています。
Document doc = new Document("word.docx");
PdfSaveOptions options = new PdfSaveOptions();
// デジタル署名の詳細
CertificateHolder certHolder = CertificateHolder.Create("signature.pfx", "12345");
options.DigitalSignatureDetails = new PdfDigitalSignatureDetails(certHolder, "reason", "location", DateTime.Now);
// WordをPDFとして保存
doc.Save("output.pdf", options);
C#で必要なJPEG品質でWordをPDFに変換する
PdfSaveOptions.JpegQualityプロパティを使用して、変換されたPDFドキュメントで取得する目的のJPEG品質を指定することもできます。 JpegQualityの値は0〜100の範囲で変化します。ここで、0は最低の品質で最大の圧縮を意味し、100は最高の品質で最小の圧縮を意味します。
次のコードサンプルは、C#でWordDOCXをPDFに変換するときにJPEG品質を設定する方法を示しています。
Document doc = new Document("word.docx");
// Jpeg品質を設定します
PdfSaveOptions options = new PdfSaveOptions();
options.JpegQuality = 100;
// WordをPDFに変換
doc.Save("output.pdf", options);
結論
この記事では、さまざまなオプションを備えたC#を使用してMS Word DOCX/DOCドキュメントを変換する方法を学習しました。 Aspose.Words for .NETのドキュメントにアクセスして、APIが提供する機能の完全なセットを確認してください。ご質問やご質問は、フォーラムからお問い合わせください。