ในบางกรณี เราอาจต้องแปลงอีเมลและข้อความ Outlook เป็นเอกสาร PDF การแปลงดังกล่าวช่วยให้เราสามารถเก็บบันทึกอีเมลสำคัญหรือแบ่งปันในรูปแบบพกพาได้ เรายังสามารถแปลงเอกสารที่แนบมาในอีเมลเป็นเอกสาร PDF โดยทางโปรแกรม ในบทความนี้ เราจะเรียนรู้วิธีแปลงอีเมลและไฟล์ MSG เป็นเอกสาร PDF โดยใช้ REST API ใน PHP
หัวข้อต่อไปนี้จะครอบคลุมในบทความนี้:
- ส่งอีเมลเป็น PDF Conversion REST API และ PHP SDK
- แปลงอีเมลเป็น PDF ใน PHP
- การแปลง Outlook MSG เป็น PDF ใน PHP
- วิธีแปลงไฟล์แนบอีเมลเป็น PDF ใน 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 โดยทางโปรแกรมบนคลาวด์ได้อย่างง่ายดายโดยทำตามขั้นตอนง่าย ๆ ด้านล่าง:
- อัปโหลด ไฟล์ EML ไปยังคลาวด์
- แปลง EML เป็น PDF
- ดาวน์โหลด ไฟล์ 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();
ดาวน์โหลดไฟล์ที่แปลงแล้ว
ตัวอย่างโค้ดด้านบนจะบันทึกไฟล์ 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();
วิธีแปลงไฟล์แนบอีเมลเป็น 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();
ลองออนไลน์
โปรดลองใช้เครื่องมือแปลง EML เป็น PDF และ MSG เป็น PDF ออนไลน์ฟรีต่อไปนี้ ซึ่งพัฒนาโดยใช้ API ข้างต้น
- https://products.groupdocs.app/conversion/eml-to-pdf
- https://products.groupdocs.app/conversion/msg-to-pdf
บทสรุป
ในบทความนี้ เราได้เรียนรู้:
- วิธีแปลง EML เป็น PDF โดยใช้ PHP
- วิธีแปลงไฟล์ Outlook MSG เป็นเอกสาร PDF;
- บันทึกไฟล์แนบอีเมลเป็น PDF ใน PHP;
- วิธีอัปโหลดไฟล์ EML ไปยังคลาวด์โดยทางโปรแกรม
- วิธีดาวน์โหลดไฟล์ PDF จากคลาวด์
นอกจากนี้ คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ GroupDocs.Conversion Cloud API โดยใช้ เอกสารประกอบ เรายังมีส่วน API Reference ที่ช่วยให้คุณแสดงภาพและโต้ตอบกับ API ของเราได้โดยตรงผ่านเบราว์เซอร์ ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราได้ที่ ฟอรัม