Chuyển SVG sang PDF XPS C#

Đồ họa vectơ có thể mở rộng, SVG, định dạng tệp được sử dụng để hiển thị hình ảnh hai chiều, thường dành cho web. Bạn có thể chuyển đổi SVG sang PDF hoặc XPS theo chương trình bằng cách sử dụng C# hoặc VB.NET. Các định dạng tệp XPS và PDF được hỗ trợ và sử dụng rộng rãi bởi các hệ thống khác nhau. Trong bài viết này, chúng tôi sẽ đề cập đến các tính năng chuyển đổi SVG sang PDF và SVG sang XPS bằng các ví dụ.

Trình chuyển đổi SVG sang PDF hoặc XPS – Cài đặt API

Aspose.SVG cho .NET là sản phẩm chuyên dụng để chỉnh sửa, thao tác hoặc chuyển đổi tệp SVG. Chúng tôi đã thiết kế nó trong khi xem xét một số lượng lớn các yêu cầu tính năng từ người dùng. Bạn có thể dễ dàng cài đặt API bằng cách sử dụng NuGet từ menu Công cụ trong Microsoft Visual Studio IDE. Cách tiếp cận này có thể hữu ích theo cách mà tất cả các phụ thuộc được cài đặt tự động bằng một lệnh cài đặt duy nhất. Chẳng hạn, kết xuất SVG cũng có thể cần tham chiếu System.Drawing thường không có sẵn theo mặc định trong môi trường không có cửa sổ. Ngoài ra, bạn cũng có thể tải xuống API từ trang web chính thức.

Chuyển đổi SVG sang PDF theo lập trình trong C#

Bạn có thể chuyển đổi các tệp SVG thành PDF trong các ứng dụng dựa trên .NET của mình cho dù đó là bảng điều khiển, web, máy tính để bàn hay bất kỳ ứng dụng nào khác. Phần tốt nhất của quá trình chuyển đổi là độ trung thực cao giữa SVG đầu vào và tài liệu PDF đầu ra. Ngoài ra, việc sử dụng hiệu quả tài nguyên của API dẫn đến việc chuyển đổi tệp nhanh chóng. Bạn cần làm theo các bước sau để chuyển đổi tệp SVG sang PDF:

  1. Tải tệp SVG đầu vào.
  2. Chỉ định đối tượng PdfRenderingOptions.
  3. Đặt thuộc tính Page Setup bao gồm kích thước trang, lề, v.v.
  4. Kết xuất tệp SVG thành tệp PDF bằng C#.

Đoạn mã giải thích cách chuyển đổi tệp SVG thành PDF theo chương trình bằng C#:

// Tải tệp SVG đầu vào
using (var document = new SVGDocument(Path.Combine(dataDir, "smiley.svg")))
{
    // Chỉ định PdfRenderingOptions
    var options = new PdfRenderingOptions()
    {
        // Đặt thuộc tính Thiết lập Trang
        PageSetup =
        {
            Sizing = SizingType.FitContent
        }
    };
    using (var device = new PdfDevice(options, dataDir + "smiley_out.pdf"))
    {
        // Kết xuất SVG thành PDF
        document.RenderTo(device);
    }
}

Chuyển đổi SVG sang XPS theo lập trình trong C#

Bạn có thể dễ dàng chuyển đổi các tệp SVG sang XPS bằng các lệnh gọi API đơn giản mà không phải lo lắng về các chi tiết chuyên sâu của các định dạng tệp. Bạn nên làm theo các bước đơn giản dưới đây để thực hiện chuyển đổi:

  1. Tải tệp SVG đầu vào.
  2. Khởi tạo đối tượng XPSRenderingOptions.
  3. Đặt kích thước trang PDF, lề, v.v.
  4. Kết xuất tệp SVG thành tệp XPS bằng C#.

Đoạn mã sau cho biết cách chuyển đổi SVG sang XPS theo chương trình bằng C#:

// Tải tệp SVG đầu vào
using (var document = new SVGDocument(Path.Combine(dataDir, "smiley.svg")))
{
    // Chỉ định XPSRenderingOptions
    var options = new XpsRenderingOptions()
    {
        // Đặt kích thước trang PDF, lề, v.v.
        PageSetup =
        {
            AnyPage = new Page(new Size(500, 500))
        }
    };
    using (var device = new XpsDevice(options, dataDir + "smiley_out.xps"))
    {
        // Kết xuất SVG sang XPS
        document.RenderTo(device);
    }
}

Tải xuống ví dụ dự án và tệp mẫu

Chúng tôi đã biên soạn một dự án mẫu dưới dạng ứng dụng trình diễn để chuyển đổi định dạng tệp SVG sang PDF hoặc XPS bằng ngôn ngữ lập trình C#. Nó cung cấp cho bạn một cái nhìn tổng quan nhanh chóng về mọi thứ chúng tôi đã thảo luận ở trên. Bạn có thể tải xuống tệp ZIP của dự án hoặc sao chép nó từ Kho lưu trữ GitHub tùy theo sự thuận tiện của bạn.

Sự kết luận

Trong bài viết này, chúng tôi đã khám phá cách chuyển đổi tệp SVG thành tệp định dạng PDF hoặc XPS theo chương trình bằng cách sử dụng ngôn ngữ C# hoặc VB.NET trong các ứng dụng dựa trên .NET Framework của bạn. Có rất nhiều tính năng khác được API cung cấp để hoạt động với các tệp SVG. Bạn có thể khám phá thêm bằng cách truy cập Tài liệuTham khảo API. Trong trường hợp có bất kỳ thắc mắc nào, bạn luôn có thể liên hệ với chúng tôi tại Diễn đàn hỗ trợ miễn phí.

Xem thêm