แปลง Word เป็น PDF

วิธีการแปลง Word เป็น PDF ออนไลน์

ไฟล์ MS Word รวมถึง DOC, DOCX, DOCM, DOTX, ODT, OTT เป็นต้น เป็นรูปแบบไฟล์ยอดนิยมบางส่วนสำหรับการจัดเก็บข้อมูลและการแบ่งปันข้อมูล มหาวิทยาลัย รัฐบาล หรือองค์กรสาธารณะจำนวนมากสร้างผลงานในรูปแบบ Word แต่เนื่องจากรูปแบบต่างๆ เหล่านี้มีมากมาย การจัดวางเนื้อหาในไฟล์เหล่านี้จึงลดลงเมื่อดูบนแพลตฟอร์มต่างๆ ดังนั้น วิธีแก้ปัญหาที่เป็นไปได้วิธีหนึ่งคือการแปลงเป็นรูปแบบคงที่ที่รักษาโครงสร้างเอกสารและความถูกต้องบนแพลตฟอร์มใดๆ ก็ได้

ในบทความนี้ เราจะพูดถึงการแปลง Word เป็น PDF โดยใช้ .NET REST API

API การแปลง Word เป็น PDF

Aspose.Words Cloud เป็น API ที่ยอดเยี่ยมบนพื้นฐาน REST ซึ่งทำให้สามารถสร้าง แก้ไข และแปลงเอกสาร Word เป็นรูปแบบไฟล์ที่รองรับอื่นๆ บนแพลตฟอร์มใดๆ ได้อย่างง่ายดาย ตามขอบเขตของบทความ เราจะใช้ Aspose.Words Cloud SDK สำหรับ .NET สำหรับการแปลง Word เป็น PDF

การติดตั้ง

โปรดดำเนินการคำสั่งต่อไปนี้บนเทอร์มินัลบรรทัดคำสั่งเพื่อติดตั้ง SDK

nuget install Aspose.Words-Cloud

เพื่อติดตั้ง SDK จากตัวจัดการแพ็กเกจ NuGet โปรดปฏิบัติตามขั้นตอนที่ระบุด้านล่าง:

  • ขยายตัวสำรวจโซลูชันและคลิกขวาที่โฟลเดอร์แพ็คเกจ
  • ป้อน Aspose.Words-Cloud ในช่องค้นหา
  • ตอนนี้ให้เปิดใช้งานช่องกาเครื่องหมายใกล้กับ Aspose.Words-Cloud ในผลการค้นหา และคลิกปุ่มเพิ่มแพ็คเกจ
  • SDK ที่อ้างอิงจะถูกเพิ่มลงในโครงการ

นอกจากนี้ เรายังต้องสร้างบัญชีฟรีโดยไปที่ แผงควบคุม Aspose.Cloud ซึ่งเราสามารถลงชื่อเข้าใช้โดยใช้บัญชี GitHub หรือ Google ที่มีอยู่ หรือสร้างบัญชีใหม่ เพียงเลื่อนลงไปที่ส่วนข้อมูลประจำตัวไคลเอนต์เพื่อดูรายละเอียดรหัสไคลเอนต์และความลับไคลเอนต์

วิธีการแปลง Word เป็น PDF ใน C#

โปรดปฏิบัติตามขั้นตอนที่ระบุไว้ด้านล่างเพื่อดำเนินการแปลง Word เป็น PDF โดยใช้โค้ด C# .NET ใน Visual Studio ในสถานการณ์นี้ ไฟล์ Word อินพุตจะพร้อมใช้งานในที่จัดเก็บข้อมูลบนคลาวด์แล้ว และไฟล์ PDF ที่ได้จะถูกจัดเก็บในที่จัดเก็บข้อมูลบนคลาวด์ด้วยเช่นกัน

  • สร้างอินสแตนซ์ของคลาส Configuration ที่ใช้รายละเอียด Client ID และ Client Secret เป็นอาร์กิวเมนต์
  • ประการที่สอง สร้างอินสแตนซ์ของคลาส WordsApi และระบุอินสแตนซ์การกำหนดค่าเป็นอาร์กิวเมนต์
  • ประการที่สาม อัปโหลดไฟล์จากระบบภายในเครื่องไปยังที่จัดเก็บข้อมูลบนคลาวด์โดยใช้เมธอด UploadFileRequest(..)
  • ขั้นตอนต่อไปคือการสร้างอ็อบเจ็กต์ของ SaveOptionsData ซึ่งกำหนดคุณสมบัติของไฟล์ผลลัพธ์ โดยใช้อ็อบเจ็กต์นี้ เราจะกำหนด SaveFormat เป็น Pdf โดยค่าสำหรับ ZipOutput จะถูกระบุเป็น false เพื่อให้ผลลัพธ์ไม่อยู่ในไฟล์เก็บถาวร .zip และคุณสมบัติอื่นๆ
  • ตอนนี้สร้างอินสแตนซ์ของ SaveAsRequest ซึ่งรับชื่อไฟล์อินพุตและอ็อบเจ็กต์ SaveOptionsData เป็นอาร์กิวเมนต์
  • ในที่สุด เรียกใช้เมธอด SaveAs(…) ของคลาส WordApi ซึ่งใช้อินสแตนซ์ SaveAsrequest เป็นอาร์กิวเมนต์
// รับข้อมูลประจำตัวลูกค้าจาก https://dashboard.aspose.cloud/
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";

// สร้างอินสแตนซ์การกำหนดค่าโดยส่งรหัสไคลเอนต์และรายละเอียดความลับไคลเอนต์
var config = new Configuration { ClientId = clientID, ClientSecret = clientSecret };

// สร้างวัตถุ WordsApi
var wordsApi = new WordsApi(config);

// การป้อนข้อมูลเอกสาร Word
string fileName = "test_multi_pages.doc";

// โหลดไฟล์จากระบบภายในเครื่อง
using (var file = System.IO.File.OpenRead("/Users/nshahbaz/Downloads/" + fileName))
{
    // อัปโหลดเอกสารต้นฉบับไปยัง Cloud Storage
    wordsApi.UploadFile(new UploadFileRequest(file, fileName, null));
}

// สร้างวัตถุ SaveOptionsData
SaveOptionsData saveOptionsData = new SaveOptionsData()
{
    SaveFormat = "pdf",
    FileName = "myResultant.pdf",
    AllowEmbeddingPostScriptFonts = true,
    ZipOutput = false,
    UpdateLastSavedTimeProperty = true,
    UpdateSdtContent = true,
    UpdateCreatedTimeProperty = true,
    UpdateLastPrintedProperty = true
};
            
try
{
    // สร้าง SaveAsRequest โดยส่งไฟล์ Word อินพุตและ saveOptionsData
    SaveAsRequest request = new SaveAsRequest(fileName, saveOptionsData);
    
    // เริ่มการดำเนินการแปลง Word เป็น PDF
    var output = wordsApi.SaveAs(request);
}
catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
} 
ดูตัวอย่างคำเป็น PDF

ภาพที่ 5:- ดูตัวอย่างการแปลง Word เป็น PDF

ไฟล์ตัวอย่างที่ใช้ในตัวอย่างข้างต้นสามารถดาวน์โหลดได้จาก testmultipages.doc

แปลง DOC เป็น PDF ใน C#

ในสถานการณ์นี้ เราจะแปลงไฟล์ DOC ที่อัปโหลดจากพื้นที่จัดเก็บข้อมูลภายใน และแปลงผลลัพธ์เป็นรูปแบบ PDF ไฟล์ที่ได้จะถูกจัดเก็บในพื้นที่จัดเก็บข้อมูลบนคลาวด์ด้วยเช่นกัน

  • ขั้นแรก ให้สร้างอินสแตนซ์ของคลาส Configuration ที่รับรายละเอียด Client ID และ Client Secret เป็นอาร์กิวเมนต์
  • ประการที่สอง สร้างอินสแตนซ์ของคลาส WordsApi และระบุอินสแตนซ์การกำหนดค่าเป็นอาร์กิวเมนต์
  • ประการที่สาม สร้างอ็อบเจ็กต์ของคลาส ConvertDocumentRequest ที่ใช้สตรีมไฟล์ท้องถิ่น รูปแบบเอาท์พุต และชื่อไฟล์ผลลัพธ์เป็นอาร์กิวเมนต์
  • สุดท้าย ให้เรียกใช้เมธอด ConvertDocument(..) เพื่อดำเนินการแปลง
// รับข้อมูลประจำตัวลูกค้าจาก https://dashboard.aspose.cloud/
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";

// สร้างอินสแตนซ์การกำหนดค่าโดยส่งรหัสไคลเอนต์และรายละเอียดความลับไคลเอนต์
var config = new Configuration { ClientId = clientID, ClientSecret = clientSecret };

// สร้างวัตถุ WordsApi
var wordsApi = new WordsApi(config);

// ไฟล์คำอินพุต
string fileName = "test_multi_pages.doc";

// ชื่อของไฟล์ผลลัพธ์
string outputfile = "result.pdf";

try
{
    // อัปโหลดไฟล์คำจากพื้นที่เก็บข้อมูลในเครื่องและระบุรูปแบบเอาท์พุต
    ConvertDocumentRequest request = new ConvertDocumentRequest(System.IO.File.OpenRead("/Users/nshahbaz/Downloads/" + fileName),"pdf",outputfile);
    
    // ดำเนินการแปลง
    var output = wordsApi.ConvertDocument(request);
}
catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}  

แปลง DOCX เป็น PDF ใน C#

มาหารือเกี่ยวกับสถานการณ์ในการแปลงไฟล์ DOCX ที่มีอยู่ในระบบจัดเก็บข้อมูลบนคลาวด์ และบันทึกผลลัพธ์ PDF ในระบบจัดเก็บข้อมูลบนคลาวด์ ในสถานการณ์นี้ เราจะใช้เมธอดคำขอ HTTP GET

  • ขั้นแรก ให้สร้างอินสแตนซ์ของคลาส Configuration ที่รับรายละเอียด Client ID และ Client Secret เป็นอาร์กิวเมนต์
  • ประการที่สอง สร้างอินสแตนซ์ของคลาส WordsApi และระบุอินสแตนซ์การกำหนดค่าเป็นอาร์กิวเมนต์
  • ขั้นตอนถัดไปคือการอัปโหลดไฟล์จากไดรฟ์ภายในไปยังที่เก็บข้อมูลบนคลาวด์โดยใช้เมธอด UploadFileRequest(…) ของ WordsApi
  • ขั้นตอนสุดท้าย สร้างอ็อบเจ็กต์ของคลาส GetDocumentWithFormatRequest ซึ่งใช้ชื่อไฟล์ DOCX รูปแบบเอาต์พุต และชื่อของไฟล์ผลลัพธ์เป็นอาร์กิวเมนต์
  • สุดท้าย เรียกใช้เมธอด GetDocumentWithFormat(…) เพื่อดำเนินการแปลง
// รับข้อมูลประจำตัวลูกค้าจาก https://dashboard.aspose.cloud/
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";

// สร้างอินสแตนซ์การกำหนดค่าโดยส่งรหัสไคลเอนต์และรายละเอียดความลับไคลเอนต์
var config = new Configuration { ClientId = clientID, ClientSecret = clientSecret };

// สร้างวัตถุ WordsApi
var wordsApi = new WordsApi(config);

// อินพุตไฟล์ docx
string fileName = "file-sample_1MB.docx";

// รูปแบบเอาท์พุตเป็น PDF
string format = "pdf";

// ชื่อไฟล์ผลลัพธ์
string outputfile = "result.pdf";

// โหลดเนื้อหาไฟล์ DOCX จากไดรฟ์ภายในเครื่อง
using (var file = System.IO.File.OpenRead("/Users/nshahbaz/Downloads/" + fileName))
{
    // อัปโหลดเอกสารต้นฉบับไปยัง Cloud Storage
    wordsApi.UploadFile(new UploadFileRequest(file, fileName, null));
}

// อัพโหลดไฟล์ไปยัง Cloud Storage            
try
{
    GetDocumentWithFormatRequest request = new GetDocumentWithFormatRequest(fileName,format,null,null,null,null,outputfile);
    wordsApi.GetDocumentWithFormat(request);
}
catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
} 

คุณอาจลองดาวน์โหลดไฟล์ทรัพยากรที่ใช้ในตัวอย่างข้างต้นจาก file-sample1MB.docx และ result.pdf

ตัวอย่างการแปลง docx เป็น pdf

ภาพที่ 6:- ตัวอย่างการแปลง DOCX เป็น PDF

แปลง Word เป็น PDF โดยใช้คำสั่ง cURL

ในส่วนนี้ เราจะเข้าถึง Cloud API ผ่านคำสั่ง cURL ขั้นตอนแรกคือการสร้างโทเค็นการเข้าถึง JWT ตามรายละเอียดรหัสไคลเอนต์และความลับไคลเอนต์

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=4ccf1790-accc-41e9-8d18-a78dbb2ed1aa&client_secret=caac6e3d4a4724b2feb53f4e460eade3" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

ตอนนี้ให้ดำเนินการคำสั่งต่อไปนี้เพื่ออัปโหลดไฟล์ไปยังที่เก็บข้อมูลบนคลาวด์

curl -X PUT "https://api.aspose.cloud/v4.0/words/storage/file/file-sample_1MB.docx" \
-H  "accept: application/json" \
-H  "Authorization: Bearer <JWT Token>" \
-H  "Content-Type: multipart/form-data" \
-d {"fileContent":{}}

สุดท้าย ให้ใช้ GetDocumentWithFormat API เพื่อดำเนินการแปลง DOCX เป็น PDF

curl -X GET "https://api.aspose.cloud/v4.0/words/file-sample_1MB.docx?format=pdf&outPath=myOutput.pdf" \
-H  "accept: application/octet-stream" \
-H  "Authorization: Bearer <JWT Token>

บทสรุป

เราได้กล่าวถึงคุณสมบัติที่น่าทึ่งบางอย่างในการแปลง Word เป็น PDF โดยใช้ Aspose.Words Cloud การแปลงสามารถทำได้โดยใช้โค้ด .NET หรือผ่านคำสั่ง cURL นอกจากนี้ คุณยังสามารถสำรวจ API ผ่าน Swagger UI ในเบราว์เซอร์ของคุณได้อีกด้วย

โปรดทราบว่าซอร์สโค้ดทั้งหมดของ SDK พร้อมให้ดาวน์โหลดได้ที่ GitHub และในกรณีที่คุณพบปัญหาใดๆ ในขณะใช้ API โปรดติดต่อเราผ่าน ฟอรัมสนับสนุนผลิตภัณฑ์ฟรี

บทความที่เกี่ยวข้อง

เราขอแนะนำให้เยี่ยมชมลิงก์ต่อไปนี้เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับ: