PHP を使用して Excel を PDF に変換する

当社では、請求書、台帳、在庫、会計、計算データ、その他のレポートを管理するために Excel スプレッドシート を広く使用しています。一方、PDF は、書式を失わずにドキュメントを共有および印刷するための最も一般的な形式です。場合によっては、Excel データをポータブル形式で共有するために、Excel を PDF に変換する必要がある場合があります。クラウド上でプログラムを使用して Excel スプレッドシートを PDF ドキュメントに簡単に変換できます。この記事では、PHP を使用して Excel を PDF に変換する方法を学びます。

この記事では次のトピックについて説明します。

Excel から PDF への変換 REST API と PHP SDK

XLSX を PDF に変換するには、GroupDocs.Conversion Cloud の PHP SDK API を使用します。これにより、サポートされているファイル形式 のドキュメントと画像を必要な形式にシームレスに変換できます。コンソールで次のコマンドを使用してインストールしてください。

composer require groupdocscloud/groupdocs-conversion-cloud

インストール後、以下に示すように Composers の autoload を使用して SDK を使用してください。

上記の手順に従う前に、ダッシュボードからクライアント ID とシークレットを取得してください。 ID とシークレットを取得したら、以下に示すようにコードを追加します。

// このコード例は、コードにクライアント ID とシークレットを追加する方法を示しています。
static $ClientId = '659fe7da-715b-4744-a0f7-cf469a392b73';
static $ClientSecret = 'b377c36cfa28fa69960ebac6b6e36421';

static $ApiBaseUrl = 'https://api.groupdocs.cloud';
static $MyStorage = '';

// 設定の初期化
$configuration = new GroupDocs\Conversion\Configuration();

// 構成の設定
$configuration->setAppSid(self::$ClientId);
$configuration->setAppKey(self::$ClientSecret);
$configuration->setApiBaseUrl(self::$ApiBaseUrl);

PHP の REST API を使用して Excel を PDF に変換する

以下の手順に従って、クラウド上でプログラムによって Excel ファイルを PDF ドキュメントに簡単に変換できます。

  1. XLSXファイルをクラウドにアップロード
  2. Excel を PDF に変換
  3. ダウンロード変換されたPDFファイル

Excelファイルをアップロードする

まず、次のコードサンプルを使用して、XLSX ファイルをクラウドにアップロードします。

// このコード例は、XLSX ファイルをクラウドにアップロードする方法を示しています。
// APIのインスタンスを初期化する
$apiInstance = new GroupDocs\Conversion\FileApi($configuration);

// 入力ファイルパス
$file = "C:\\Files\\Conversion\\sample.xlsx";

// アップロードファイルリクエストの作成
$request = new GroupDocs\Conversion\Model\Requests\UploadFileRequest("sample.xlsx", $file, self::$MyStorage, null);

// ファイルをアップロードする
$response = $apiInstance->uploadFile($request);

その結果、アップロードされたファイルはクラウド上のダッシュボードの ファイル セクション で利用できるようになります。

PHP で Excel を PDF に変換

次に、以下の手順に従って、アップロードされた XLSX ファイルを PDF ドキュメントに変換します。

  1. まず、ConvertApi のインスタンスを作成します。
  2. 次に、ConvertSettings インスタンスを初期化し、アップロードされた XLSX ファイルのパスを設定します。
  3. 次に、形式に「pdf」を割り当て、出力ファイルのパスを指定します。
  4. 次に、setOnePagePerSheet などのさまざまな SpreadsheetLoadOptions を設定します。
  5. 必要に応じて、setCenterWindow、setMarginTop、setMarginLeft などのさまざまな PdfConvertOptions を設定します。
  6. その後、ConvertSettingsを引数としてConvertDocumentRequestを作成します。
  7. 最後に、ConvertApi.convertDocument() メソッドを呼び出して変換します。

次のコード例は、PHP の REST API を使用して Excel スプレッドシートを PDF ドキュメントに変換する方法を示しています。

// このコード例は、Excel を PDF に変換する方法を示します。
// APIのインスタンスを初期化する
$convertApi = new GroupDocs\Conversion\ConvertApi($configuration);

// 変換設定を定義する
$settings = new GroupDocs\Conversion\Model\ConvertSettings();
$settings->setStorageName(self::$MyStorage);    // Storage
$settings->setFilePath("sample.xlsx");          // Input file
$settings->setFormat("pdf");                    // Output format
$settings->setOutputPath("convertedExcel.pdf"); // Output file

// スプレッドシートの読み込みオプション
$loadOptions = new GroupDocs\Conversion\Model\SpreadsheetLoadOptions();		
$loadOptions->setHideComments(true);    // Show hide comments
$loadOptions->setShowGridLines(false);  // Do not Show gridlines
$loadOptions->setOnePagePerSheet(true);	// One sheet per page

// ロードオプションの割り当て
$settings->setLoadOptions($loadOptions);

$convertOptions = new GroupDocs\Conversion\Model\PdfConvertOptions();
$convertOptions->setCenterWindow(true); // Center window
$convertOptions->setMarginTop(5);       // Top margin
$convertOptions->setMarginLeft(5);      // Left margin
$convertOptions->setRemovePdfaCompliance(false);  // RemovecCompliance

// アスギン変換オプション
$settings->setConvertOptions($convertOptions);

// 変換ドキュメントリクエストの作成
$request = new GroupDocs\Conversion\Model\Requests\ConvertDocumentRequest($settings);

// ドキュメントを変換する
$response = $convertApi->convertDocument($request);
// 終わり
echo "Document converted successfully: ", $response[0]->getUrl();
PHP の REST API を使用して Excel を PDF に変換する

PHP の REST API を使用して Excel を PDF に変換します。

変換されたファイルをダウンロードする

上記のコードサンプルは、変換された PDF ファイルをクラウド上に保存します。次のコードサンプルを使用してダウンロードできます。

// このコード例は、クラウドから PDF ファイルをダウンロードする方法を示しています。
// APIのインスタンスを初期化する
$apiInstance = new GroupDocs\Conversion\FileApi($configuration);

// ダウンロードファイルリクエストの作成
$request = new GroupDocs\Conversion\Model\Requests\DownloadFileRequest("convertedExcel.pdf", self::$MyStorage, null);

// ダウンロードファイル
$response = $apiInstance->downloadFile($request);

PHP で特定の Excel スプレッドシートを PDF に変換

以下の手順に従って、特定の Excel スプレッドシートを PDF ドキュメントに変換することもできます。

  1. まず、ConvertApi のインスタンスを作成します。
  2. 次に、ConvertSettings インスタンスを初期化します。
  3. 次に、アップロードした XLSX ファイルのパスを設定します。
  4. また、形式に「pdf」を割り当て、出力ファイルのパスを指定します。
  5. 次に、PdfConvertOptions オブジェクトを初期化します。
  6. 次に、変換する特定のシート インデックスをカンマ区切りの配列で指定します。
  7. その後、ConvertSettingsを引数としてConvertDocumentRequestを作成します。
  8. 最後に、ConvertApi.convertDocument() メソッドを呼び出して変換します。

次のコード例は、PHP の REST API を使用して特定の Excel スプレッドシートを PDF ドキュメントに変換する方法を示しています。前述の手順に従ってファイルをアップロードおよびダウンロードしてください。

// このコード例は、特定の Excel シートを PDF に変換する方法を示します。
// APIのインスタンスを初期化する
$convertApi = new GroupDocs\Conversion\ConvertApi($configuration);

// 変換設定を定義する
$settings = new GroupDocs\Conversion\Model\ConvertSettings();
$settings->setStorageName(self::$MyStorage);
$settings->setFilePath("sample.xlsx");
$settings->setFormat("pdf");
$settings->setOutputPath("convertedSpecificSheet.pdf");

// PDF 変換オプションを定義する
$convertOptions = new GroupDocs\Conversion\Model\PdfConvertOptions();
$convertOptions->setPages([2, 4]);  // Define pages (sheets) to convert

// 変換オプションを割り当てる
$settings->setConvertOptions($convertOptions);

// 変換ドキュメントリクエストの作成
$request = new GroupDocs\Conversion\Model\Requests\ConvertDocumentRequest($settings);

// ドキュメントを変換する
$response = $convertApi->convertDocument($request);
// 終わり
echo "Document converted successfully: ", $response[0]->getUrl();
PHP で特定の Excel スプレッドシートを PDF に変換

PHP で特定の Excel スプレッドシートを PDF に変換します。

前述の手順に従って、さまざまなスプレッドシートを Excel から PDF ファイルに変換することもできます。ただし、次のようにシートの範囲について言及する必要があるだけです。

$convertOptions = new GroupDocs\Conversion\Model\PdfConvertOptions();
$convertOptions->setFromPage(2);
$convertOptions->setPagesCount(4);

ウォーターマークを使用した Excel から PDF への変換

以下の手順に従って、Excel スプレッドシートを PDF ドキュメントに変換し、変換されたドキュメントに透かしを追加できます。

  1. まず、ConvertApi のインスタンスを作成します。
  2. 次に、ConvertSettings インスタンスを初期化します。
  3. 次に、アップロードした XLSX ファイルのパスを設定します。
  4. また、形式に「pdf」を割り当て、出力ファイルのパスを指定します。
  5. 次に、WatermarkOptions オブジェクトを初期化し、ウォーターマークのテキスト、色、幅、高さなどを設定します。
  6. 次に、PdfConvertOptions を定義し、WatermarkOptions を割り当てます。
  7. その後、ConvertSettingsを引数としてConvertDocumentRequestを作成します。
  8. 最後に、ConvertApi.convertDocument() メソッドを呼び出して変換します。

次のコード サンプルは、PHP の REST API を使用して Excel スプレッドシートを PDF ドキュメントに変換し、変換された PDF ドキュメントにウォーターマークを追加する方法を示しています。前述の手順に従ってファイルをアップロードおよびダウンロードしてください。

// このコード例は、Excel をウォーターマーク付きの PDF に変換する方法を示します。
// APIのインスタンスを初期化する
$convertApi = new GroupDocs\Conversion\ConvertApi($configuration);

// 変換設定を定義する
$settings = new GroupDocs\Conversion\Model\ConvertSettings();
$settings->setStorageName(self::$MyStorage);
$settings->setFilePath("sample.xlsx");
$settings->setFormat("pdf");
$settings->setOutputPath("convertedWithWatermark.pdf");

// ウォーターマークを定義する
$watermark = new GroupDocs\Conversion\Model\WatermarkOptions();
$watermark->setText("CONFIDENTIAL");
$watermark->setBold(true);
$watermark->setFontSize(44);
$watermark->setColor("Gray");
$watermark->setBackground(false);
$watermark->setRotationAngle(30);
$watermark->setLeft(100);
$watermark->setTop(250);

// PDF 変換オプションを定義する
$convertOptions = new GroupDocs\Conversion\Model\PdfConvertOptions();
// ウォーターマークを設定する
$convertOptions->setWatermarkOptions($watermark);

// 変換オプションを割り当てる
$settings->setConvertOptions($convertOptions);

// 変換ドキュメントリクエストの作成
$request = new GroupDocs\Conversion\Model\Requests\ConvertDocumentRequest($settings);

// ドキュメントを変換する
$response = $convertApi->convertDocument($request);
// 終わり
echo "Document converted successfully: ", $response[0]->getUrl();
ウォーターマークを使用した Excel から PDF への変換

ウォーターマークを使用した Excel から PDF への変換。

クラウドストレージを使用せずに Excel を PDF に変換する

以下の手順に従って、クラウド ストレージを使用せずに Excel を PDF に変換できます。

  • まず、ConvertApi のインスタンスを作成します。
  • 次に、ターゲット形式と入力ファイルのパスを引数として使用して ConvertDocumentDirectRequest を作成します。
  • 最後に、convertDocumentDirect() メソッドを呼び出して変換します。

次のコード サンプルは、クラウド ストレージを使用せずに Excel スプレッドシートを PDF ドキュメントに変換する方法を示しています。リクエスト本文で入力ファイルを渡し、API レスポンスで出力ファイルを受け取ります。

// このコード例は、クラウド ストレージを使用せずに Excel を PDF に変換する方法を示します。
// APIのインスタンスを初期化する
$apiInstance = new GroupDocs\Conversion\変換Api($configuration);

// 入力ファイルパス
$filePath = "C:\\Files\\Conversion\\sample.xlsx";

// 変換ドキュメントの直接リクエストの準備
$request = new GroupDocs\Conversion\Model\Requests\変換DocumentDirectRequest("pdf", $filePath);

// 変換
$result = $apiInstance->convertDocumentDirect($request);

// 終わり
echo "Document converted: " . $result->getSize();

オンラインで試す

上記の API を使用して開発された、次の無料のオンライン XLSX から PDF への変換ツールをお試しください。 https://products.groupdocs.app/conversion/xlsx-to-pdf

結論

この記事では、次の方法を学びました。

  • PHP を使用して Excel を PDF に変換します。
  • PHP で特定の Excel スプレッドシートを PDF に変換します。
  • 変換された PDF ドキュメントにウォーターマークを追加します。
  • クラウドストレージを使用せずに変換します。
  • XLSX ファイルをクラウドにアップロードします。
  • クラウドからPDFファイルをダウンロードします。

さらに、GroupDocs.Conversion Cloud API の詳細については、ドキュメント を使用して学習できます。また、ブラウザーを通じて API を直接視覚化し操作できるようにする API リファレンス セクションも提供しています。不明な点がある場合は、フォーラム でお気軽にお問い合わせください。

関連項目