
Làm thế nào để mở tệp Visio mà không cần phần mềm Visio?
Vâng, trong bài viết này chúng ta sẽ giải quyết các câu hỏi trên. Chúng ta đều biết rằng để chỉnh sửa và xem các tệp Visio, chúng ta cần sử dụng ứng dụng Microsoft Visio. Nhưng ứng dụng Visio không khả dụng trên các nền tảng khác ngoài Windows và để chỉ xem sơ đồ Visio, việc cài đặt và cấp phép có thể là một nỗ lực tẻ nhạt và tốn thời gian. Hơn nữa, nếu bạn muốn nhận phản hồi nhanh về sơ đồ của mình khi đối tác của bạn đang sử dụng thiết bị di động, thì việc một người xem tệp này sẽ trở nên khá cồng kềnh. Vì vậy, một giải pháp đơn giản và thiết thực là chuyển đổi sơ đồ Visio sang định dạng hình ảnh raster (JPG).
Trước khi tiếp tục, chúng ta hãy thảo luận một số chi tiết liên quan đến mẫu bản vẽ Microsoft Visio (VTX), được lưu vào đĩa ở định dạng tệp XML. Mẫu này nhằm mục đích cung cấp một tệp có các thiết lập cơ bản có thể được sử dụng để tạo nhiều tệp Visio có cùng thiết lập.
API xử lý sơ đồ Visio
Aspose.Diagram Cloud được phát triển đặc biệt để cho phép khách hàng của chúng tôi xây dựng các ứng dụng gốc, web & đám mây để tạo, xem & xuất bản vẽ Visio. Sau khi bạn đã tích hợp Aspose.Diagram Cloud vào ứng dụng của mình, bạn không cần bất kỳ phần mềm của bên thứ 3 nào để xử lý sơ đồ Microsoft Visio và biểu đồ luồng. Tiến thêm một bước nữa, chúng tôi đã tạo ra các SDK dành riêng cho ngôn ngữ lập trình, là các trình bao bọc xung quanh Cloud API. Vì vậy, trong bài viết này, chúng tôi sẽ chuyển đổi các tệp Visio sang định dạng hình ảnh raster bằng C# .NET. Vì vậy, chúng tôi cần cài đặt và cấu hình Aspose.Diagram Cloud SDK cho .NET. Vui lòng truy cập liên kết sau để biết thêm thông tin về Cách cài đặt Aspose.Cloud SDK.
VTX sang JPG trong C#
Vui lòng làm theo hướng dẫn bên dưới để chuyển đổi tệp VTX có trong bộ nhớ đám mây sang định dạng JPG.
- Đầu tiên, tạo một thể hiện của lớp DiagramApi trong khi truyền thông tin chi tiết ClientID và ClientSecret làm đối số
- Thứ hai, đọc tệp VTX đầu vào vào phiên bản FileStream
- Thứ ba, tạo một đối tượng của lớp StorageApi bằng cách truyền cùng một chi tiết ClientID và Client Secret làm đối số
- Bước tiếp theo là tải tệp VTX lên bộ nhớ đám mây bằng phương thức UploadFile(…) của StorageApi
- Bây giờ hãy gọi phương thức DownloadFileWithFormat(..) của DiagramApi để bắt đầu hoạt động chuyển đổi tệp
- Cuối cùng, lưu tệp kết quả trên ổ đĩa cục bộ bằng cách sử dụng đối tượng File.Create
// Lấy ClientID từ https://dashboard.aspose.cloud/
string clientSecret = "d757548a9f2558c39c2feebdf85b4c44";
string clientID = "4db2f826-bf9c-42e7-8b2a-8cbca2d15553";
// tạo một đối tượng của DiagramApi
DiagramApi diagramApi = new DiagramApi("client_credentials", clientID, clientSecret);
// nhập tên tệp VSSX
String inputFile = "MVPSession1SimpleTimeline.vtx";
// định dạng tập tin kết quả
String newFormat = "JPEG";
// tên của tập tin đầu ra
String newFileName = "Converted.jpeg";
try
{
// đọc tệp VTX đầu vào từ ổ đĩa cục bộ
using (var inputStream = System.IO.File.OpenRead(@"C:\Users\shahbnay\Downloads\" + inputFileName))
{
// tạo một thể hiện lớp Storage
StorageApi storageApi = new StorageApi("client_credentials", clientID, clientSecret);
// tải tệp VTX đầu vào lên bộ nhớ đám mây
storageApi.UploadFile(inputFileName, inputStream);
// bắt đầu quá trình chuyển đổi tập tin
var response = diagramApi.DownloadFileWithFormat(inputFileName, format: newFormat, null);
if (response != null)
{
Console.WriteLine("Successfully converted VTX to JPEG !");
}
// phương pháp tùy chỉnh để lưu tệp kết quả trên ổ đĩa hệ thống cục bộ
saveToDisk(response, "C:\\Users\\Downloads\\" + newFileName);
}
}
catch (Exception ex)
{
Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}
static void saveToDisk(Stream responseStream, String resultantFile)
{
var fileStream = File.Create(resultantFile);
responseStream.Seek(0, SeekOrigin.Begin);
responseStream.CopyTo(fileStream);
fileStream.Close();
}

Hình ảnh 1: - Xem trước VTX được chuyển đổi sang JPEG.
Các tệp mẫu được sử dụng trong ví dụ trên có thể được tải xuống từ MVPSession1SimpleTimeline.vtx và Converted.jpeg.
Chuyển đổi VTX sang JPG bằng cURL
Vì Cloud API của chúng tôi được phát triển theo kiến trúc REST, nên chúng có thể dễ dàng truy cập thông qua lệnh cURL. Nhưng như một điều kiện tiên quyết, trước tiên chúng tôi cần tạo mã thông báo truy cập JWT dựa trên thông tin xác thực của khách hàng. Vui lòng thực hiện lệnh sau để tạo mã thông báo truy cập 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"
Sau khi tạo xong mã thông báo truy cập JWT, vui lòng thực hiện lệnh sau để thực hiện thao tác chuyển đổi.
curl -X GET "https://api.aspose.cloud/v3.0/diagram/MVPSession1SimpleTimeline.vtx?format=JPEG" \
-H "accept: multipart/form-data" \
-H "authorization: Bearer <JWT Token>" \
-o Converted.jpeg
Phần kết luận
Bài viết này đã giải thích các chi tiết liên quan đến việc chuyển đổi mẫu bản vẽ Microsoft Visio (VTX) sang định dạng JPEG. Chúng tôi đã thảo luận về việc chuyển đổi tệp bằng đoạn mã C# .NET cũng như thông qua lệnh cURL. Hơn nữa, xin lưu ý rằng SDK của chúng tôi được phát triển theo giấy phép MIT và mã nguồn đầy đủ của nó có thể được tải xuống từ GitHub. Hơn nữa, 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ợ miễn phí.
Bài viết liên quan
Chúng tôi cũng khuyên bạn nên truy cập các liên kết sau để tìm hiểu thêm về