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

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

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

ส่งอีเมลเป็น PDF Conversion REST API และ PHP SDK

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

composer require groupdocscloud/groupdocs-conversion-cloud

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

require_once('vendor/autoload.php'); 

โปรด รับรหัสลูกค้าและข้อมูลลับจากแดชบอร์ด ก่อนทำตามขั้นตอนดังกล่าว เมื่อคุณมี ID และรหัสลับของคุณแล้ว ให้เพิ่มรหัสตามที่แสดงด้านล่าง:

// ตัวอย่างรหัสต่อไปนี้สาธิตวิธีการเพิ่มรหัสลูกค้าและข้อมูลลับในรหัส
static $ClientId = '659fe7da-715b-4744-a0f7-cf469a392b73';
static $ClientSecret = 'b377c36cfa28fa69960ebac6b6e36421';

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

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

เราสามารถแปลงอีเมลเป็นเอกสาร PDF โดยทางโปรแกรมบนคลาวด์ได้อย่างง่ายดายโดยทำตามขั้นตอนง่าย ๆ ด้านล่าง:

  1. อัปโหลด ไฟล์ EML ไปยังคลาวด์
  2. แปลง EML เป็น PDF
  3. ดาวน์โหลด ไฟล์ PDF ที่แปลงแล้ว

อัปโหลดไฟล์ EML

ประการแรก เราจะอัปโหลดไฟล์ EML ไปยังคลาวด์โดยใช้ตัวอย่างโค้ดต่อไปนี้:

// ตัวอย่างโค้ดนี้สาธิตวิธีอัปโหลดไฟล์ EML ไปยังระบบคลาวด์
// การตั้งค่าการกำหนดค่า
$configuration = new GroupDocs\Conversion\Configuration();
$configuration->setAppSid(self::$ClientId);
$configuration->setAppKey(self::$ClientSecret);

// เริ่มต้น API
$apiInstance = new GroupDocs\Conversion\FileApi($configuration);

$file = "C:\\Files\\Conversion\\email\\sample.eml";
$request = new GroupDocs\Conversion\Model\Requests\UploadFileRequest("sample.eml", $file, self::$MyStorage, null);
$response = $apiInstance->uploadFile($request);

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

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

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

  • ขั้นแรก สร้างอินสแตนซ์ของ ConvertApi
  • ถัดไป ระบุเส้นทางไฟล์ EML ที่อัปโหลด รูปแบบการแปลง และเส้นทางไฟล์เอาต์พุต
  • จากนั้นตั้งค่า EmlLoadOptions ต่างๆ เช่น setDisplayHeader, setDisplayEmailAddress เป็นต้น
  • เลือกตั้งค่า PdfConvertOptions ต่างๆ เช่น setCenterWindow, setMarginTop, setMarginLeft เป็นต้น
  • หลังจากนั้น สร้าง ConvertDocumentRequest โดยมี ConvertSettings เป็นอาร์กิวเมนต์
  • สุดท้าย แปลง EML โดยใช้เมธอด convertDocument() กับ ConvertDocumentRequest

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

// ตัวอย่างโค้ดนี้สาธิตวิธีแปลง EML เป็น PDF ใน PHP
// การตั้งค่าการกำหนดค่า
$configuration = new GroupDocs\Conversion\Configuration();
$configuration->setAppSid(self::$ClientId);
$configuration->setAppKey(self::$ClientSecret);
$configuration->setApiBaseUrl(self::$ApiBaseUrl);

// สร้างอินสแตนซ์ ConversionAPI ใหม่
$convertApi = new GroupDocs\Conversion\ConvertApi($configuration);

// กำหนดการตั้งค่าการแปลง
$settings = new GroupDocs\Conversion\Model\ConvertSettings();
$settings->setStorageName(self::$MyStorage);
$settings->setFilePath("sample.eml");
$settings->setFormat("pdf");
$settings->setOutputPath("convertedEML.pdf");

// กำหนดตัวเลือกการโหลด EML
$loadOptions = new GroupDocs\Conversion\Model\EmlLoadOptions();
$loadOptions->setDisplayHeader(true);
$loadOptions->setDisplayFromEmailAddress(true);
$loadOptions->setDisplayToEmailAddress(true);
$loadOptions->setDisplayEmailAddress(true);
$loadOptions->setDisplayCcEmailAddress(true);
$loadOptions->setDisplayBccEmailAddress(true);
$settings->setLoadOptions($loadOptions);

// กำหนดตัวเลือกการแปลง PDF
$convertOptions = new GroupDocs\Conversion\Model\PdfConvertOptions();
$convertOptions->setCenterWindow(true);
$convertOptions->setMarginTop(50);
$convertOptions->setMarginLeft(50);
$convertOptions->setMarginRight(50);
$convertOptions->setMarginBottom(50);
$settings->setConvertOptions($convertOptions);

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

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

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

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

ตัวอย่างโค้ดด้านบนจะบันทึกไฟล์ PDF ที่แปลงแล้วบนคลาวด์ สามารถดาวน์โหลดได้โดยใช้ตัวอย่างโค้ดต่อไปนี้:

// ตัวอย่างรหัสนี้สาธิตวิธีการดาวน์โหลด PDF จากคลาวด์
// การตั้งค่าการกำหนดค่า
$configuration = new GroupDocs\Conversion\Configuration();
$configuration->setAppSid(self::$ClientId);
$configuration->setAppKey(self::$ClientSecret);

// เริ่มต้น API
$apiInstance = new GroupDocs\Conversion\FileApi($configuration);

// สร้างคำขอดาวน์โหลด
$request = new GroupDocs\Conversion\Model\Requests\DownloadFileRequest("convertedEML.pdf", self::$MyStorage, null);

// ดาวน์โหลดไฟล์
$response = $apiInstance->downloadFile($request);

การแปลง Outlook MSG เป็น PDF โดยใช้ REST API ใน PHP

เราสามารถแปลงไฟล์ Outlook MSG เป็นเอกสาร PDF โดยทำตามขั้นตอนด้านล่าง:

  • ขั้นแรก สร้างอินสแตนซ์ของ ConvertApi
  • ถัดไป ระบุเส้นทางไฟล์ MSG ที่อัปโหลด รูปแบบการแปลง และเส้นทางไฟล์เอาต์พุต
  • จากนั้นตั้งค่า MsgLoadOptions ต่างๆ เช่น setDisplayCcEmailAddress เป็นต้น
  • เลือกตั้งค่า PdfConvertOptions ต่างๆ เช่น setCenterWindow, setMarginTop, setMarginLeft เป็นต้น
  • หลังจากนั้น สร้าง ConvertDocumentRequest โดยมี ConvertSettings เป็นอาร์กิวเมนต์
  • สุดท้าย แปลง MSG เป็น PDF โดยใช้เมธอด convertDocument() กับ ConvertDocumentRequest

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

// ตัวอย่างโค้ดนี้สาธิตวิธีการแปลง MSG เป็น PDF ใน PHP
// การตั้งค่าการกำหนดค่า
$configuration = new GroupDocs\Conversion\Configuration();
$configuration->setAppSid(self::$ClientId);
$configuration->setAppKey(self::$ClientSecret);
$configuration->setApiBaseUrl(self::$ApiBaseUrl);

// สร้างอินสแตนซ์ ConversionAPI ใหม่
$convertApi = new GroupDocs\Conversion\ConvertApi($configuration);

// กำหนดการตั้งค่าการแปลง
$settings = new GroupDocs\Conversion\Model\ConvertSettings();
$settings->setStorageName(self::$MyStorage);
$settings->setFilePath("sample.msg");
$settings->setFormat("pdf");
$settings->setOutputPath("convertedMSG.pdf");

// กำหนดตัวเลือกการโหลดผงชูรส
$loadOptions = new GroupDocs\Conversion\Model\MsgLoadOptions();
$loadOptions->setDisplayCcEmailAddress(true);
$loadOptions->setDisplayBccEmailAddress(true);
$settings->setLoadOptions($loadOptions);

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

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

การแปลง Outlook MSG เป็น PDF โดยใช้ REST API ใน PHP

วิธีแปลงไฟล์แนบอีเมลเป็น PDF ใน PHP

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

  • ขั้นแรก สร้างอินสแตนซ์ของ ConvertApi
  • ถัดไป ระบุเส้นทางไฟล์ MSG ที่อัปโหลด รูปแบบการแปลง และเส้นทางไฟล์เอาต์พุต
  • สร้างอินสแตนซ์ของ MsgLoadOptions
  • ตั้งค่าคุณสมบัติ converterAttachments เป็นจริง
  • หลังจากนั้น สร้าง ConvertDocumentRequest โดยมี ConvertSettings เป็นอาร์กิวเมนต์
  • สุดท้าย แปลง EML โดยใช้เมธอด convertDocument() กับ ConvertDocumentRequest

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

// ตัวอย่างรหัสนี้สาธิตวิธีการแปลงไฟล์แนบอีเมลเป็น PDF ใน PHP
// การตั้งค่าการกำหนดค่า
$configuration = new GroupDocs\Conversion\Configuration();
$configuration->setAppSid(self::$ClientId);
$configuration->setAppKey(self::$ClientSecret);

// สร้างอินสแตนซ์ ConversionAPI
$convertApi = new GroupDocs\Conversion\ConvertApi($configuration);

// กำหนดการตั้งค่าการแปลง
$settings = new GroupDocs\Conversion\Model\ConvertSettings();
$settings->setStorageName(self::$MyStorage);
$settings->setFilePath("Msg_with_attachments.msg");
$settings->setFormat("pdf");
$settings->setOutputPath("convertedAttachments.pdf");

// กำหนดตัวเลือกการโหลดผงชูรส
$loadOptions = new GroupDocs\Conversion\Model\MsgLoadOptions();
$loadOptions->setConvertAttachments(true);

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

// แปลงเอกสาร
$response = $convertApi->convertDocument($request);
echo "Document converted successfully: ", $response[0]->getUrl();
วิธีแปลงไฟล์แนบอีเมลเป็น PDF ใน PHP

แปลงไฟล์แนบอีเมลเป็น PDF ใน PHP

ลองออนไลน์

โปรดลองใช้เครื่องมือแปลง EML เป็น PDF และ MSG เป็น PDF ออนไลน์ฟรีต่อไปนี้ ซึ่งพัฒนาโดยใช้ API ข้างต้น

บทสรุป

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

  • วิธีแปลง EML เป็น PDF โดยใช้ PHP
  • วิธีแปลงไฟล์ Outlook MSG เป็นเอกสาร PDF;
  • บันทึกไฟล์แนบอีเมลเป็น PDF ใน PHP;
  • วิธีอัปโหลดไฟล์ EML ไปยังคลาวด์โดยทางโปรแกรม
  • วิธีดาวน์โหลดไฟล์ PDF จากคลาวด์

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

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