Chuyển đổi Excel sang PDF bằng PHP

Chúng tôi sử dụng rộng rãi Excel bảng tính để duy trì hóa đơn, sổ cái, hàng tồn kho, tài khoản, dữ liệu tính toán và các báo cáo khác. Trong khi đó, PDF là định dạng phổ biến nhất để chia sẻ và in tài liệu mà không làm mất định dạng. Trong một số trường hợp nhất định, chúng tôi có thể cần chuyển đổi Excel sang PDF để chia sẻ dữ liệu Excel ở dạng di động. Chúng tôi có thể dễ dàng chuyển đổi Bảng tính Excel sang tài liệu PDF theo chương trình trên đám mây. Trong bài viết này, chúng ta sẽ tìm hiểu cách chuyển đổi Excel sang PDF bằng PHP.

Các chủ đề sau đây sẽ được đề cập trong bài viết này:

API REST chuyển đổi từ Excel sang PDF và PHP SDK

Để chuyển đổi XLSX sang PDF, chúng tôi sẽ sử dụng PHP SDK của GroupDocs.Conversion Cloud API. Nó cho phép chúng tôi chuyển đổi liền mạch tài liệu và hình ảnh của bất kỳ định dạng tệp được hỗ trợ nào sang bất kỳ định dạng nào chúng tôi yêu cầu. Vui lòng cài đặt nó bằng lệnh sau trong bảng điều khiển:

composer require groupdocscloud/groupdocs-conversion-cloud

Sau khi cài đặt, vui lòng sử dụng Composers’ autoload để sử dụng SDK như hình bên dưới:

Vui lòng lấy Client ID và Secret của bạn từ bảng điều khiển trước khi làm theo các bước được đề cập. Khi bạn có ID và bí mật của mình, hãy thêm mã như hình bên dưới:

// Ví dụ mã này trình bày cách thêm Id khách hàng của bạn và bí mật trong mã.
static $ClientId = '659fe7da-715b-4744-a0f7-cf469a392b73';
static $ClientSecret = 'b377c36cfa28fa69960ebac6b6e36421';

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

// Khởi tạo cấu hình
$configuration = new GroupDocs\Conversion\Configuration();

// Đặt cấu hình
$configuration->setAppSid(self::$ClientId);
$configuration->setAppKey(self::$ClientSecret);
$configuration->setApiBaseUrl(self::$ApiBaseUrl);

Chuyển đổi Excel sang PDF bằng API REST trong PHP

Chúng tôi có thể dễ dàng chuyển đổi các tệp Excel thành tài liệu PDF theo chương trình trên đám mây bằng cách thực hiện theo các bước dưới đây:

  1. Tải lên tệp XLSX lên đám mây
  2. Chuyển đổi Excel sang PDF
  3. Tải xuống tệp PDF đã chuyển đổi

Tải lên tệp Excel

Đầu tiên, chúng tôi sẽ tải tệp XLSX lên đám mây bằng cách sử dụng mẫu mã sau:

// Ví dụ mã này trình bày cách tải tệp XLSX lên đám mây.
// Khởi tạo một phiên bản của API
$apiInstance = new GroupDocs\Conversion\FileApi($configuration);

// Đường dẫn tệp đầu vào
$file = "C:\\Files\\Conversion\\sample.xlsx";

// Tạo yêu cầu tệp tải lên
$request = new GroupDocs\Conversion\Model\Requests\UploadFileRequest("sample.xlsx", $file, self::$MyStorage, null);

// Cập nhật dử liệu
$response = $apiInstance->uploadFile($request);

Do đó, tệp đã tải lên sẽ có sẵn trong phần tệp của trang tổng quan trên đám mây.

Chuyển đổi Excel sang PDF trong PHP

Bây giờ, chúng tôi sẽ chuyển đổi tệp XLSX đã tải lên thành tài liệu PDF bằng cách thực hiện theo các bước dưới đây:

  1. Đầu tiên, tạo một phiên bản của ConvertApi.
  2. Tiếp theo, Khởi tạo phiên bản ConvertSettings và đặt đường dẫn tệp XLSX đã tải lên.
  3. Sau đó, gán “pdf” cho định dạng và cung cấp đường dẫn tệp đầu ra.
  4. Tiếp theo, đặt các Tùy chọn tải bảng tính khác nhau, chẳng hạn như setOnePagePerSheet, v.v.
  5. Tùy chọn, đặt nhiều PdfConvertOptions khác nhau chẳng hạn như setCenterWindow, setMarginTop, setMarginLeft, v.v.
  6. Sau đó, tạo ConvertDocumentRequest với ConvertSettings làm đối số.
  7. Cuối cùng, chuyển đổi bằng cách gọi phương thức ConvertApi.convertDocument().

Ví dụ mã sau đây cho biết cách chuyển đổi Bảng tính Excel thành tài liệu PDF bằng cách sử dụng API REST trong PHP.

// Ví dụ mã này trình bày cách chuyển đổi Excel sang PDF.
// Khởi tạo một phiên bản của API
$convertApi = new GroupDocs\Conversion\ConvertApi($configuration);

// Xác định cài đặt chuyển đổi
$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

// Tùy chọn tải bảng tính
$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

// Chỉ định tùy chọn tải
$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

// Tùy chọn chuyển đổi Assgin
$settings->setConvertOptions($convertOptions);

// Tạo yêu cầu tài liệu chuyển đổi
$request = new GroupDocs\Conversion\Model\Requests\ConvertDocumentRequest($settings);

// Chuyển đổi tài liệu
$response = $convertApi->convertDocument($request);
// Xong
echo "Document converted successfully: ", $response[0]->getUrl();
Chuyển đổi Excel sang PDF bằng API REST trong PHP

Chuyển đổi Excel sang PDF bằng API REST trong PHP.

Tải xuống tệp đã chuyển đổi

Mẫu mã trên sẽ lưu tệp PDF đã chuyển đổi trên đám mây. Nó có thể được tải xuống bằng cách sử dụng mẫu mã sau:

// Ví dụ mã này trình bày cách tải xuống tệp PDF từ đám mây.
// Khởi tạo một phiên bản của API
$apiInstance = new GroupDocs\Conversion\FileApi($configuration);

// Tạo yêu cầu tệp tải xuống
$request = new GroupDocs\Conversion\Model\Requests\DownloadFileRequest("convertedExcel.pdf", self::$MyStorage, null);

// Tải tập tin
$response = $apiInstance->downloadFile($request);

Chuyển đổi bảng tính Excel cụ thể sang PDF trong PHP

Chúng tôi cũng có thể chuyển đổi Bảng tính Excel cụ thể thành tài liệu PDF bằng cách thực hiện theo các bước dưới đây:

  1. Đầu tiên, tạo một phiên bản của ConvertApi.
  2. Tiếp theo, Khởi tạo phiên bản ConvertSettings.
  3. Sau đó, đặt đường dẫn tệp XLSX đã tải lên.
  4. Đồng thời gán “pdf” cho định dạng và cung cấp đường dẫn tệp đầu ra.
  5. Tiếp theo, khởi tạo đối tượng PdfConvertOptions
  6. Sau đó, cung cấp các chỉ mục trang tính cụ thể trong một mảng được phân tách bằng dấu phẩy để chuyển đổi.
  7. Sau đó, tạo ConvertDocumentRequest với ConvertSettings làm đối số.
  8. Cuối cùng, chuyển đổi bằng cách gọi phương thức ConvertApi.convertDocument().

Ví dụ mã sau đây cho biết cách chuyển đổi một Bảng tính Excel cụ thể thành tài liệu PDF bằng cách sử dụng API REST trong PHP. Vui lòng làm theo các bước được đề cập trước đó để tải lên và tải xuống các tệp.

// Ví dụ mã này trình bày cách chuyển đổi các trang tính Excel cụ thể sang PDF.
// Khởi tạo một phiên bản của API
$convertApi = new GroupDocs\Conversion\ConvertApi($configuration);

// Xác định cài đặt chuyển đổi
$settings = new GroupDocs\Conversion\Model\ConvertSettings();
$settings->setStorageName(self::$MyStorage);
$settings->setFilePath("sample.xlsx");
$settings->setFormat("pdf");
$settings->setOutputPath("convertedSpecificSheet.pdf");

// Xác định các tùy chọn chuyển đổi PDF
$convertOptions = new GroupDocs\Conversion\Model\PdfConvertOptions();
$convertOptions->setPages([2, 4]);  // Define pages (sheets) to convert

// Chỉ định tùy chọn chuyển đổi
$settings->setConvertOptions($convertOptions);

// Tạo yêu cầu tài liệu chuyển đổi
$request = new GroupDocs\Conversion\Model\Requests\ConvertDocumentRequest($settings);

// Chuyển đổi tài liệu
$response = $convertApi->convertDocument($request);
// Xong
echo "Document converted successfully: ", $response[0]->getUrl();
Chuyển đổi bảng tính Excel cụ thể sang PDF trong PHP

Chuyển đổi bảng tính Excel cụ thể sang PDF trong PHP.

Chúng tôi cũng có thể chuyển đổi một loạt bảng tính từ Excel sang tệp PDF bằng cách làm theo các bước đã đề cập trước đó. Tuy nhiên, chúng ta chỉ cần đề cập đến phạm vi của các trang tính như sau:

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

Chuyển đổi Excel sang PDF với Watermark

Chúng tôi có thể chuyển đổi Bảng tính Excel thành tài liệu PDF và thêm hình mờ vào tài liệu đã chuyển đổi bằng cách thực hiện theo các bước dưới đây:

  1. Đầu tiên, tạo một phiên bản của ConvertApi.
  2. Tiếp theo, Khởi tạo phiên bản ConvertSettings.
  3. Sau đó, đặt đường dẫn tệp XLSX đã tải lên.
  4. Đồng thời gán “pdf” cho định dạng và cung cấp đường dẫn tệp đầu ra.
  5. Tiếp theo, khởi tạo đối tượng WatermarkOptions và đặt Văn bản hình mờ, Màu sắc, Chiều rộng, Chiều cao, v.v.
  6. Sau đó, xác định PdfConvertOptions và gán WatermarkOptions.
  7. Sau đó, tạo ConvertDocumentRequest với ConvertSettings làm đối số.
  8. Cuối cùng, chuyển đổi bằng cách gọi phương thức ConvertApi.convertDocument().

Mẫu mã sau đây cho biết cách chuyển đổi Bảng tính Excel thành tài liệu PDF và thêm hình mờ vào tài liệu PDF đã chuyển đổi bằng cách sử dụng API REST trong PHP. Vui lòng làm theo các bước được đề cập trước đó để tải lên và tải xuống các tệp.

// Ví dụ mã này trình bày cách chuyển đổi Excel sang PDF bằng hình mờ.
// Khởi tạo một phiên bản của API
$convertApi = new GroupDocs\Conversion\ConvertApi($configuration);

// Xác định cài đặt chuyển đổi
$settings = new GroupDocs\Conversion\Model\ConvertSettings();
$settings->setStorageName(self::$MyStorage);
$settings->setFilePath("sample.xlsx");
$settings->setFormat("pdf");
$settings->setOutputPath("convertedWithWatermark.pdf");

// xác định hình mờ
$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);

// Xác định các tùy chọn chuyển đổi PDF
$convertOptions = new GroupDocs\Conversion\Model\PdfConvertOptions();
// Đặt hình mờ
$convertOptions->setWatermarkOptions($watermark);

// Chỉ định tùy chọn chuyển đổi
$settings->setConvertOptions($convertOptions);

// Tạo yêu cầu tài liệu chuyển đổi
$request = new GroupDocs\Conversion\Model\Requests\ConvertDocumentRequest($settings);

// Chuyển đổi tài liệu
$response = $convertApi->convertDocument($request);
// Xong
echo "Document converted successfully: ", $response[0]->getUrl();
Chuyển đổi Excel sang PDF với Watermark

Chuyển đổi Excel sang PDF với Watermark.

Chuyển đổi Excel sang PDF mà không cần sử dụng Cloud Storage

Chúng tôi có thể chuyển đổi Excel sang PDF mà không cần sử dụng bộ nhớ đám mây bằng cách thực hiện theo các bước dưới đây:

  • Đầu tiên, tạo một phiên bản của ConvertApi.
  • Tiếp theo, tạo ConvertDocumentDirectRequest với định dạng đích và đường dẫn tệp đầu vào làm đối số.
  • Cuối cùng, chuyển đổi bằng cách gọi phương thức convertDocumentDirect().

Mẫu mã sau đây cho biết cách chuyển đổi Bảng tính Excel thành tài liệu PDF mà không cần sử dụng bộ nhớ đám mây. Chúng tôi chuyển tệp đầu vào trong phần thân yêu cầu và nhận tệp đầu ra trong phản hồi API.

// Ví dụ mã này trình bày cách chuyển đổi Excel sang PDF mà không cần sử dụng bộ nhớ đám mây.
// Khởi tạo một phiên bản của API
$apiInstance = new GroupDocs\Conversion\Chuyển thànhApi($configuration);

// Đường dẫn tệp đầu vào
$filePath = "C:\\Files\\Conversion\\sample.xlsx";

// Chuẩn bị tài liệu chuyển đổi yêu cầu trực tiếp
$request = new GroupDocs\Conversion\Model\Requests\Chuyển thànhDocumentDirectRequest("pdf", $filePath);

// Chuyển thành
$result = $apiInstance->convertDocumentDirect($request);

// Xong
echo "Document converted: " . $result->getSize();

Thử trực tuyến

Vui lòng dùng thử công cụ chuyển đổi XLSX sang PDF trực tuyến miễn phí sau đây, được phát triển bằng cách sử dụng API ở trên. https://products.groupdocs.app/conversion/xlsx-to-pdf

Phần kết luận

Trong bài viết này, chúng ta đã học cách:

  • chuyển đổi Excel sang PDF bằng PHP;
  • chuyển đổi một bảng tính Excel cụ thể sang PDF trong PHP;
  • thêm hình mờ vào tài liệu PDF đã chuyển đổi;
  • chuyển đổi mà không cần sử dụng lưu trữ đám mây;
  • tải tệp XLSX lên đám mây;
  • tải xuống tệp PDF từ đám mây.

Ngoài ra, bạn có thể tìm hiểu thêm về GroupDocs.Conversion Cloud API bằng cách sử dụng tài liệu. Chúng tôi cũng cung cấp phần Tham khảo API cho phép bạn hình dung và tương tác trực tiếp với các API của chúng tôi thông qua trình duyệt. Trong trường hợp có bất kỳ sự mơ hồ nào, vui lòng liên hệ với chúng tôi trên diễn đàn.

Xem thêm