แปลง Excel เป็น PDF โดยใช้ PHP

เราใช้ Excel สเปรดชีต กันอย่างแพร่หลายในการดูแลใบแจ้งหนี้ บัญชีแยกประเภท สินค้าคงคลัง บัญชี ข้อมูลการคำนวณ และรายงานอื่นๆ ในขณะที่ PDF เป็นรูปแบบที่นิยมมากที่สุดสำหรับการแชร์และพิมพ์เอกสารโดยไม่เสียรูปแบบ ในบางกรณี เราอาจต้องแปลง Excel เป็น PDF เพื่อแบ่งปันข้อมูล Excel ในรูปแบบแบบพกพา เราสามารถแปลงสเปรดชีต Excel เป็นเอกสาร PDF โดยทางโปรแกรมบนคลาวด์ได้อย่างง่ายดาย ในบทความนี้ เราจะเรียนรู้วิธีแปลง Excel เป็น PDF โดยใช้ PHP

หัวข้อต่อไปนี้จะครอบคลุมในบทความนี้:

การแปลงไฟล์ Excel เป็น PDF REST API และ PHP SDK

สำหรับการแปลง XLSX เป็น PDF เราจะใช้ API ของ PHP SDK of GroupDocs.Conversion Cloud ช่วยให้เราสามารถแปลงเอกสารและรูปภาพของ รูปแบบไฟล์ที่รองรับ เป็นรูปแบบใดก็ได้ที่เราต้องการได้อย่างราบรื่น โปรดติดตั้งโดยใช้คำสั่งต่อไปนี้ในคอนโซล:

composer require groupdocscloud/groupdocs-conversion-cloud

หลังการติดตั้ง โปรดใช้ autoload ของนักแต่งเพลงเพื่อใช้ SDK ดังที่แสดงด้านล่าง:

โปรด รับรหัสลูกค้าและข้อมูลลับจากแดชบอร์ด ก่อนทำตามขั้นตอนดังกล่าว เมื่อคุณมี 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);

แปลง Excel เป็น PDF โดยใช้ REST API ใน PHP

เราสามารถแปลงไฟล์ 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);

ด้วยเหตุนี้ ไฟล์ที่อัปโหลดจะอยู่ใน ส่วนไฟล์ ของแดชบอร์ดบนระบบคลาวด์

แปลง Excel เป็น PDF ใน PHP

ตอนนี้ เราจะแปลงไฟล์ XLSX ที่อัปโหลดเป็นเอกสาร PDF โดยทำตามขั้นตอนด้านล่าง:

  1. ขั้นแรก สร้างอินสแตนซ์ของ ConvertApi
  2. ถัดไป เริ่มต้นอินสแตนซ์ ConvertSettings และตั้งค่าเส้นทางไฟล์ XLSX ที่อัปโหลด
  3. จากนั้น กำหนด “pdf” เป็นรูปแบบและระบุพาธของไฟล์เอาต์พุต
  4. จากนั้น ตั้งค่า SpreadsheetLoadOptions ต่างๆ เช่น setOnePagePerSheet เป็นต้น
  5. เลือกตั้งค่า PdfConvertOptions ต่างๆ เช่น setCenterWindow, setMarginTop, setMarginLeft เป็นต้น
  6. หลังจากนั้น สร้าง ConvertDocumentRequest โดยมี ConvertSettings เป็นอาร์กิวเมนต์
  7. สุดท้าย แปลงโดยเรียกเมธอด ConvertApi.convertDocument()

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีแปลงสเปรดชีต Excel เป็นเอกสาร PDF โดยใช้ REST API ใน PHP

// ตัวอย่างรหัสนี้สาธิตวิธีการแปลง 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

// ตัวเลือกการแปลง Assgin
$settings->setConvertOptions($convertOptions);

// สร้างคำขอแปลงเอกสาร
$request = new GroupDocs\Conversion\Model\Requests\ConvertDocumentRequest($settings);

// แปลงเอกสาร
$response = $convertApi->convertDocument($request);
// เสร็จแล้ว
echo "Document converted successfully: ", $response[0]->getUrl();
แปลง Excel เป็น PDF โดยใช้ REST API ใน PHP

แปลง Excel เป็น PDF โดยใช้ REST API ใน PHP

ดาวน์โหลดไฟล์ที่แปลงแล้ว

ตัวอย่างโค้ดด้านบนจะบันทึกไฟล์ 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);

แปลงสเปรดชีต Excel เฉพาะเป็น PDF ใน PHP

เรายังสามารถแปลงสเปรดชีต Excel เฉพาะเป็นเอกสาร PDF โดยทำตามขั้นตอนด้านล่าง:

  1. ขั้นแรก สร้างอินสแตนซ์ของ ConvertApi
  2. ถัดไป เริ่มต้นอินสแตนซ์ ConvertSettings
  3. จากนั้นตั้งค่าเส้นทางไฟล์ XLSX ที่อัปโหลด
  4. กำหนด “pdf” ให้กับรูปแบบและระบุเส้นทางไฟล์ที่ส่งออกด้วย
  5. ถัดไป เริ่มต้นวัตถุ PdfConvertOptions
  6. จากนั้น ระบุดัชนีชีตเฉพาะในอาร์เรย์ที่คั่นด้วยเครื่องหมายจุลภาคเพื่อแปลง
  7. หลังจากนั้น สร้าง ConvertDocumentRequest โดยมี ConvertSettings เป็นอาร์กิวเมนต์
  8. สุดท้าย แปลงโดยเรียกเมธอด ConvertApi.convertDocument()

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีแปลงสเปรดชีต Excel เฉพาะเป็นเอกสาร PDF โดยใช้ REST API ใน PHP โปรดทำตามขั้นตอนที่กล่าวถึงก่อนหน้านี้เพื่ออัปโหลดและดาวน์โหลดไฟล์

// ตัวอย่างรหัสนี้สาธิตวิธีการแปลงแผ่นงาน 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();
แปลงสเปรดชีต Excel เฉพาะเป็น PDF ใน PHP

แปลงสเปรดชีต Excel เฉพาะเป็น PDF ใน PHP

เรายังสามารถแปลงสเปรดชีตจาก 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 และตั้งค่า Watermark Text, Color, Width, Height เป็นต้น
  6. จากนั้นกำหนด PdfConvertOptions และกำหนด WatermarkOptions
  7. หลังจากนั้น สร้าง ConvertDocumentRequest โดยมี ConvertSettings เป็นอาร์กิวเมนต์
  8. สุดท้าย แปลงโดยเรียกเมธอด ConvertApi.convertDocument()

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีแปลงสเปรดชีต Excel เป็นเอกสาร PDF และเพิ่มลายน้ำให้กับเอกสาร PDF ที่แปลงแล้วโดยใช้ REST API ใน PHP โปรดทำตามขั้นตอนที่กล่าวถึงก่อนหน้านี้เพื่ออัปโหลดและดาวน์โหลดไฟล์

// ตัวอย่างรหัสนี้สาธิตวิธีการแปลง 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 โดยไม่ต้องใช้ Cloud Storage

เราสามารถแปลง 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();

ลองออนไลน์

โปรดลองใช้เครื่องมือแปลง XLSX เป็น PDF ออนไลน์ฟรีต่อไปนี้ ซึ่งพัฒนาโดยใช้ API ข้างต้น https://products.groupdocs.app/conversion/xlsx-to-pdf

บทสรุป

ในบทความนี้ เราได้เรียนรู้วิธีการ:

  • แปลง Excel เป็น PDF โดยใช้ PHP;
  • แปลงสเปรดชีต Excel เฉพาะเป็น PDF ใน PHP;
  • เพิ่มลายน้ำให้กับเอกสาร PDF ที่แปลงแล้ว
  • แปลงโดยไม่ต้องใช้ที่เก็บข้อมูลบนคลาวด์
  • อัปโหลดไฟล์ XLSX ไปยังคลาวด์
  • ดาวน์โหลดไฟล์ PDF จากคลาวด์

นอกจากนี้ คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ GroupDocs.Conversion Cloud API โดยใช้ เอกสารประกอบ เรายังมีส่วน API Reference ที่ช่วยให้คุณแสดงภาพและโต้ตอบกับ API ของเราได้โดยตรงผ่านเบราว์เซอร์ ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราได้ที่ ฟอรัม

ดูสิ่งนี้ด้วย