Word から PDF へ

Word をオンラインで PDF に変換する方法

DOCDOCXDOCMDOTXODTOTTなどのMS Wordファイルは、情報の保存やデータ共有によく使われるファイル形式です。多くの大学、政府、公共機関はWord形式で成果物を作成していますが、形式が多様であるため、さまざまなプラットフォームで表示したときに、これらのファイル内のコンテンツのレイアウトが損なわれます。したがって、実行可能な解決策の1つは、どのプラットフォームでもドキュメントの構造と忠実性を維持する固定形式に変換することです。

この記事では、.NET REST API を使用して Word を PDF 形式に変換する方法について説明します。

Word から PDF への変換 API

Aspose.Words Cloud は、あらゆるプラットフォームで Word 文書を簡単に作成、編集、および他のサポートされているファイル形式に変換できる、優れた REST ベースの API です。この記事では、Word から PDF への変換に Aspose.Words Cloud SDK for .NET を使用します。

インストール

SDK をインストールするには、コマンド ライン ターミナルで次のコマンドを実行してください。

nuget install Aspose.Words-Cloud

NuGet パッケージ マネージャーから SDK をインストールするには、以下の手順に従ってください。

  • ソリューション エクスプローラーを展開し、パッケージ フォルダーを右クリックします。
  • 検索フィールドに「Aspose.Words-Cloud」と入力します。
  • 次に、検索結果の Aspose.Words-Cloud の横にあるチェックボックスを有効にし、「パッケージの追加」ボタンをクリックします。
  • 参照される SDK がプロジェクトに追加されます。

また、Aspose.Cloud ダッシュボード にアクセスして無料アカウントを作成する必要があります。ここで、既存の GitHub または Google アカウントを使用してサインインするか、新しいアカウントを作成することができます。クライアント資格情報セクションまで下にスクロールすると、クライアント ID とクライアント シークレットの詳細が表示されます。

C# で Word を PDF に変換する方法

Visual Studio で C# .NET コードを使用して Word から PDF への変換を実行するには、以下の手順に従ってください。このシナリオでは、入力 Word ファイルは既にクラウド ストレージで使用可能であり、結果の PDF もクラウド ストレージに保存されます。

  • クライアントIDとクライアントシークレットの詳細を引数として受け取るConfigurationクラスのインスタンスを作成します。
  • 次に、WordsApi クラスのインスタンスを作成し、構成インスタンスを引数として提供します。
  • 3 番目に、UploadFileRequest(..) メソッドを使用して、ローカル システムからクラウド ストレージにファイルをアップロードします。
  • 次のステップは、結果のファイルプロパティを定義する SaveOptionsData オブジェクトを作成することです。このオブジェクトを使用して、SaveFormat を Pdf として定義し、ZipOutput の値を false として指定して、出力が .zip アーカイブやその他のプロパティに含まれないようにします。
  • ここで、入力ファイル名とSaveOptionsDataオブジェクトを引数として受け取るSaveAsRequestのインスタンスを作成します。
  • 最後に、SaveAsrequest インスタンスを引数として受け取る WordApi クラスの SaveAs(…) メソッドを呼び出します。
// https://dashboard.aspose.cloud/ からクライアント資格情報を取得します。
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";

// クライアントIDとクライアントシークレットの詳細を渡して構成インスタンスを作成します
var config = new Configuration { ClientId = clientID, ClientSecret = clientSecret };

// WordsApiオブジェクトを作成する
var wordsApi = new WordsApi(config);

// Word文書を入力する
string fileName = "test_multi_pages.doc";

// ローカルシステムからファイルを読み込む
using (var file = System.IO.File.OpenRead("/Users/nshahbaz/Downloads/" + fileName))
{
    // 元の文書をクラウドストレージにアップロードする
    wordsApi.UploadFile(new UploadFileRequest(file, fileName, null));
}

// SaveOptionsData オブジェクトを作成する
SaveOptionsData saveOptionsData = new SaveOptionsData()
{
    SaveFormat = "pdf",
    FileName = "myResultant.pdf",
    AllowEmbeddingPostScriptFonts = true,
    ZipOutput = false,
    UpdateLastSavedTimeProperty = true,
    UpdateSdtContent = true,
    UpdateCreatedTimeProperty = true,
    UpdateLastPrintedProperty = true
};
            
try
{
    // 入力WordファイルとsaveOptionsDataを渡してSaveAsRequestを作成する
    SaveAsRequest request = new SaveAsRequest(fileName, saveOptionsData);
    
    // WordからPDFへの変換操作を初期化する
    var output = wordsApi.SaveAs(request);
}
catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
} 
ワードからPDFへのプレビュー

画像 5:- Word から PDF への変換プレビュー。

上記の例で使用したサンプルファイルは、testmultipages.docからダウンロードできます。

C# で DOC を PDF に変換する

このシナリオでは、ローカルストレージからアップロードされたDOCファイルを変換し、出力をPDF形式に変換します。結果のファイルもクラウドストレージに保存されます。

  • まず、クライアントIDとクライアントシークレットの詳細を引数として受け取るConfigurationクラスのインスタンスを作成します。
  • 次に、WordsApiクラスのインスタンスを作成し、構成インスタンスを引数として提供します。
  • 3番目に、ローカルファイルストリーム、出力形式、および結果のファイル名を引数として受け取るConvertDocumentRequestクラスのオブジェクトを作成します。
  • 最後に、ConvertDocument(..) メソッドを呼び出して変換操作を実行します。
// https://dashboard.aspose.cloud/ からクライアント資格情報を取得します。
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";

// クライアントIDとクライアントシークレットの詳細を渡して構成インスタンスを作成します
var config = new Configuration { ClientId = clientID, ClientSecret = clientSecret };

// WordsApiオブジェクトを作成する
var wordsApi = new WordsApi(config);

// 入力ワードファイル
string fileName = "test_multi_pages.doc";

// 結果ファイルの名前
string outputfile = "result.pdf";

try
{
    // ローカルストレージからWordファイルをアップロードし、出力形式を指定します
    ConvertDocumentRequest request = new ConvertDocumentRequest(System.IO.File.OpenRead("/Users/nshahbaz/Downloads/" + fileName),"pdf",outputfile);
    
    // 変換操作を実行する
    var output = wordsApi.ConvertDocument(request);
}
catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}  

C# で DOCX を PDF に変換する

クラウドストレージで利用可能なDOCXファイルを変換し、結果のPDFもクラウドストレージに保存するシナリオについて説明します。このシナリオでは、HTTP GETリクエストメソッドを使用します。

  • まず、クライアントIDとクライアントシークレットの詳細を引数として受け取るConfigurationクラスのインスタンスを作成します。
  • 次に、WordsApiクラスのインスタンスを作成し、構成インスタンスを引数として提供します。
  • 次のステップは、WordsApi の UploadFileRequest(…) メソッドを使用して、ローカル ドライブからクラウド ストレージにファイルをアップロードすることです。
  • 最後に、DOCX ファイル名、出力形式、結果ファイルの名前を引数として受け取る GetDocumentWithFormatRequest クラスのオブジェクトを作成します。
  • 最後に、GetDocumentWithFormat(…) メソッドを呼び出して変換を実行します。
// https://dashboard.aspose.cloud/ からクライアント資格情報を取得します。
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";

// クライアントIDとクライアントシークレットの詳細を渡して構成インスタンスを作成します。
var config = new Configuration { ClientId = clientID, ClientSecret = clientSecret };

// WordsApiオブジェクトを作成する
var wordsApi = new WordsApi(config);

// 入力docxファイル
string fileName = "file-sample_1MB.docx";

// 出力形式はPDF
string format = "pdf";

// 結果のファイル名
string outputfile = "result.pdf";

// ローカルドライブからDOCXファイルのコンテンツを読み込む
using (var file = System.IO.File.OpenRead("/Users/nshahbaz/Downloads/" + fileName))
{
    // 元の文書をクラウドストレージにアップロードする
    wordsApi.UploadFile(new UploadFileRequest(file, fileName, null));
}

// ファイルをクラウドストレージにアップロードする            
try
{
    GetDocumentWithFormatRequest request = new GetDocumentWithFormatRequest(fileName,format,null,null,null,null,outputfile);
    wordsApi.GetDocumentWithFormat(request);
}
catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
} 

上記の例で使用されているリソースファイルをfile-sample1MB.docxおよびresult.pdfからダウンロードすることを検討してください。

docxからpdfへの変換プレビュー

画像 6:- DOCX から PDF への変換プレビュー。

cURL コマンドを使用して Word を PDF に変換する

このセクションでは、cURL コマンドを通じて Cloud API にアクセスします。最初のステップは、クライアント ID とクライアント シークレットの詳細に基づいて JWT アクセス トークンを生成することです。

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=4ccf1790-accc-41e9-8d18-a78dbb2ed1aa&client_secret=caac6e3d4a4724b2feb53f4e460eade3" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

次のコマンドを実行して、ファイルをクラウド ストレージにアップロードします。

curl -X PUT "https://api.aspose.cloud/v4.0/words/storage/file/file-sample_1MB.docx" \
-H  "accept: application/json" \
-H  "Authorization: Bearer <JWT Token>" \
-H  "Content-Type: multipart/form-data" \
-d {"fileContent":{}}

最後に、GetDocumentWithFormat APIを使用してDOCXからPDFへの変換を実行します。

curl -X GET "https://api.aspose.cloud/v4.0/words/file-sample_1MB.docx?format=pdf&outPath=myOutput.pdf" \
-H  "accept: application/octet-stream" \
-H  "Authorization: Bearer <JWT Token>

結論

Aspose.Words Cloud を使用して Word を PDF 形式に変換する素晴らしい機能について説明しました。変換は、.NET コードまたは cURL コマンドを使用して実行できます。さらに、ブラウザーで Swagger UI を介して API を調べることもできます。

なお、SDKの完全なソースコードはGitHubからダウンロードできます。APIの使用中に問題が発生した場合は、無料製品サポートフォーラムからお気軽にお問い合わせください。

関連記事

詳細については、次のリンクにアクセスすることを強くお勧めします。