
Cách chuyển đổi Word sang PDF trực tuyến
Các tệp MS Word bao gồm DOC, DOCX, DOCM, DOTX, ODT, OTT, v.v. là một số định dạng tệp phổ biến để lưu trữ thông tin và chia sẻ dữ liệu. Nhiều trường đại học, chính phủ hoặc tổ chức công tạo ra các hiện vật của họ ở định dạng Word nhưng do có quá nhiều định dạng nên bố cục nội dung trong các tệp này bị ảnh hưởng khi xem trên nhiều nền tảng khác nhau. Do đó, một giải pháp khả thi là chuyển đổi sang định dạng cố định để bảo toàn cấu trúc và độ trung thực của tài liệu trên mọi nền tảng.
Trong bài viết này, chúng ta sẽ thảo luận về việc chuyển đổi định dạng Word sang PDF bằng .NET REST API.
- API chuyển đổi Word sang PDF
- Cách chuyển đổi Word sang PDF trong C#
- Chuyển đổi DOC sang PDF trong C#
- DOCX sang PDF trong C#
- Chuyển Word sang PDF bằng lệnh cURL
API chuyển đổi Word sang PDF
Aspose.Words Cloud là một API dựa trên REST tuyệt vời cung cấp khả năng dễ dàng tạo, chỉnh sửa và chuyển đổi tài liệu Word sang các Định dạng tệp được hỗ trợ khác trên mọi nền tảng. Theo phạm vi của bài viết, chúng tôi sẽ sử dụng Aspose.Words Cloud SDK cho .NET để chuyển đổi Word sang PDF.
Cài đặt
Vui lòng thực hiện lệnh sau trên thiết bị đầu cuối dòng lệnh để cài đặt SDK.
nuget install Aspose.Words-Cloud
Để cài đặt SDK từ trình quản lý gói NuGet, vui lòng làm theo các bước được chỉ định bên dưới:
- Mở rộng trình khám phá giải pháp và nhấp chuột phải vào thư mục Gói.
- Nhập Aspose.Words-Cloud vào trường tìm kiếm.
- Bây giờ hãy tích vào hộp kiểm gần Aspose.Words-Cloud trong kết quả tìm kiếm và nhấp vào nút Thêm gói.
- SDK được tham chiếu sẽ được thêm vào dự án.
Chúng ta cũng cần tạo một tài khoản miễn phí bằng cách truy cập Bảng điều khiển Aspose.Cloud nơi chúng ta có thể đăng nhập bằng tài khoản GitHub hoặc Google hiện có hoặc có thể Tạo một Tài khoản mới. Chỉ cần cuộn xuống phần Thông tin xác thực của Khách hàng để xem thông tin chi tiết về ID Khách hàng và Bí mật của Khách hàng.
Cách chuyển đổi Word sang PDF trong C#
Vui lòng làm theo các bước được chỉ định bên dưới để thực hiện chuyển đổi Word sang PDF bằng mã C# .NET trong Visual Studio. Trong trường hợp này, tệp Word đầu vào đã có sẵn trong lưu trữ đám mây và PDF kết quả cũng được lưu trữ trong lưu trữ đám mây.
- Tạo một phiên bản của lớp Cấu hình lấy thông tin chi tiết về ID khách hàng và Bí mật khách hàng làm đối số.
- Thứ hai, tạo một thể hiện của lớp WordsApi và cung cấp một thể hiện cấu hình làm đối số.
- Thứ ba, tải tệp từ hệ thống cục bộ lên bộ nhớ đám mây bằng phương thức UploadFileRequest(..).
- Bước tiếp theo là tạo một đối tượng SaveOptionsData định nghĩa các thuộc tính tệp kết quả. Sử dụng đối tượng này, chúng tôi định nghĩa SaveFormat là Pdf, giá trị cho ZipOutput được chỉ định là false để đầu ra không nằm trong tệp lưu trữ .zip và các thuộc tính khác.
- Bây giờ hãy tạo một thể hiện của SaveAsRequest lấy tên tệp đầu vào và các đối tượng SaveOptionsData làm đối số.
- Cuối cùng, gọi phương thức SaveAs(…) của lớp WordApi, phương thức này lấy thể hiện SaveAsrequest làm đối số.
// lấy thông tin xác thực của khách hàng từ https://dashboard.aspose.cloud/
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";
// tạo phiên bản Cấu hình bằng cách truyền thông tin chi tiết về ID máy khách và Bí mật máy khách
var config = new Configuration { ClientId = clientID, ClientSecret = clientSecret };
// tạo đối tượng WordsApi
var wordsApi = new WordsApi(config);
// nhập tài liệu Word
string fileName = "test_multi_pages.doc";
// tải tập tin từ hệ thống cục bộ
using (var file = System.IO.File.OpenRead("/Users/nshahbaz/Downloads/" + fileName))
{
// Tải tài liệu gốc lên Cloud Storage
wordsApi.UploadFile(new UploadFileRequest(file, fileName, null));
}
// tạo đối tượng SaveOptionsData
SaveOptionsData saveOptionsData = new SaveOptionsData()
{
SaveFormat = "pdf",
FileName = "myResultant.pdf",
AllowEmbeddingPostScriptFonts = true,
ZipOutput = false,
UpdateLastSavedTimeProperty = true,
UpdateSdtContent = true,
UpdateCreatedTimeProperty = true,
UpdateLastPrintedProperty = true
};
try
{
// tạo SaveAsRequest bằng cách truyền tệp Word đầu vào và saveOptionsData
SaveAsRequest request = new SaveAsRequest(fileName, saveOptionsData);
// khởi tạo hoạt động chuyển đổi Word sang PDF
var output = wordsApi.SaveAs(request);
}
catch (Exception ex)
{
Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}

Hình ảnh 5:- Xem trước quá trình chuyển đổi Word sang PDF.
Tệp mẫu được sử dụng trong ví dụ trên có thể được tải xuống từ testmultipages.doc.
Chuyển đổi DOC sang PDF trong C#
Trong kịch bản này, chúng tôi sẽ chuyển đổi tệp DOC được tải lên từ bộ nhớ cục bộ và chuyển đổi đầu ra sang định dạng PDF. Tệp kết quả cũng được lưu trữ trong bộ nhớ đám mây.
- Đầu tiên, tạo một thể hiện của lớp Cấu hình lấy thông tin chi tiết về ID khách hàng và Bí mật khách hàng làm đối số.
- Thứ hai, tạo một thể hiện của lớp WordsApi và cung cấp một thể hiện cấu hình làm đối số.
- Thứ ba, tạo một đối tượng của lớp ConvertDocumentRequest lấy luồng tệp cục bộ, định dạng đầu ra và tên tệp kết quả làm đối số.
- Cuối cùng, gọi phương thức ConvertDocument(..) để thực hiện thao tác chuyển đổi.
// lấy thông tin xác thực của khách hàng từ https://dashboard.aspose.cloud/
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";
// tạo phiên bản Cấu hình bằng cách truyền thông tin chi tiết về ID máy khách và Bí mật máy khách
var config = new Configuration { ClientId = clientID, ClientSecret = clientSecret };
// tạo đối tượng WordsApi
var wordsApi = new WordsApi(config);
// tập tin từ đầu vào
string fileName = "test_multi_pages.doc";
// tên của tập tin kết quả
string outputfile = "result.pdf";
try
{
// tải tệp word lên từ bộ nhớ cục bộ và chỉ định định dạng đầu ra
ConvertDocumentRequest request = new ConvertDocumentRequest(System.IO.File.OpenRead("/Users/nshahbaz/Downloads/" + fileName),"pdf",outputfile);
// thực hiện thao tác chuyển đổi
var output = wordsApi.ConvertDocument(request);
}
catch (Exception ex)
{
Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}
DOCX sang PDF trong C#
Hãy thảo luận về kịch bản chuyển đổi tệp DOCX có sẵn trong lưu trữ đám mây và cũng lưu tệp PDF kết quả trong lưu trữ đám mây. Trong kịch bản này, chúng ta sẽ sử dụng phương thức yêu cầu HTTP GET.
- Đầu tiên, tạo một thể hiện của lớp Cấu hình lấy thông tin chi tiết về ID khách hàng và Bí mật khách hàng làm đối số.
- Thứ hai, tạo một thể hiện của lớp WordsApi và cung cấp một thể hiện cấu hình làm đối số.
- Bước tiếp theo là tải tệp từ ổ đĩa cục bộ lên bộ nhớ đám mây bằng phương thức UploadFileRequest(…) của WordsApi.
- Cuối cùng, tạo một đối tượng của lớp GetDocumentWithFormatRequest lấy tên tệp DOCX, định dạng đầu ra và tên của tệp kết quả làm đối số.
- Cuối cùng, gọi phương thức GetDocumentWithFormat(…) để thực hiện chuyển đổi.
// lấy thông tin xác thực của khách hàng từ https://dashboard.aspose.cloud/
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";
// tạo phiên bản Cấu hình bằng cách truyền thông tin chi tiết về ID máy khách và Bí mật máy khách
var config = new Configuration { ClientId = clientID, ClientSecret = clientSecret };
// tạo đối tượng WordsApi
var wordsApi = new WordsApi(config);
// nhập tệp docx
string fileName = "file-sample_1MB.docx";
// định dạng đầu ra là PDF
string format = "pdf";
// tên tập tin kết quả
string outputfile = "result.pdf";
// tải nội dung tệp DOCX từ ổ đĩa cục bộ
using (var file = System.IO.File.OpenRead("/Users/nshahbaz/Downloads/" + fileName))
{
// Tải tài liệu gốc lên Cloud Storage
wordsApi.UploadFile(new UploadFileRequest(file, fileName, null));
}
// tải tập tin lên 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);
}
Bạn có thể cân nhắc tải xuống các tệp tài nguyên được sử dụng trong ví dụ trên từ file-sample1MB.docx và result.pdf.

Hình ảnh 6:- Xem trước quá trình chuyển đổi DOCX sang PDF.
Chuyển Word sang PDF bằng lệnh cURL
Trong phần này, chúng ta sẽ truy cập Cloud API thông qua lệnh cURL. Vì vậy, bước đầu tiên là tạo mã thông báo truy cập JWT dựa trên thông tin chi tiết Client ID và Client Secret.
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"
Bây giờ hãy thực hiện lệnh sau để tải tệp lên bộ nhớ đám mây.
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":{}}
Cuối cùng, sử dụng API GetDocumentWithFormat để thực hiện chuyển đổi DOCX sang 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>
Phần kết luận
Chúng tôi đã thảo luận về một số tính năng tuyệt vời của việc chuyển đổi định dạng Word sang PDF bằng Aspose.Words Cloud. Việc chuyển đổi có thể được thực hiện bằng mã .NET hoặc thông qua lệnh cURL. Ngoài ra, bạn cũng có thể khám phá API thông qua Swagger UI trong trình duyệt của mình.
Xin lưu ý rằng mã nguồn đầy đủ của SDK có sẵn để tải xuống trên GitHub và trong trường hợp bạn gặp bất kỳ sự cố nào khi sử dụng API, vui lòng liên hệ với chúng tôi qua Diễn đàn hỗ trợ sản phẩm miễn phí.
Bài viết liên quan
Chúng tôi thực sự khuyên bạn nên truy cập vào các liên kết sau để tìm hiểu thêm về: