Конвертировать SVG в PDF – примеры C#
Преобразование документов SVG в другие форматы – одна из основных функций Aspose.SVG для .NET API. Конвертация необходима по разным причинам: для работы в привычном, удобном формате или для использования разных форматов для конкретных задач. PDF – это формат файла, поддерживаемый всеми операционными системами и используемый для представления изображений, документов и книг. Файлы в формате PDF можно легко просматривать, распечатывать и публиковать в Интернете.
В статье представлена информация о списке поддерживаемых сценариев преобразования SVG в PDF и способах их выполнения. Конвертировать SVG в PDF и другие популярные форматы можно любым способом – онлайн или программно.
Онлайн Конвертер SVG
Вы можете проверить функциональность API Aspose.SVG и конвертировать SVG в режиме реального времени. Загрузите SVG из локальной файловой системы или из URL, выберите выходной формат и запустите пример. В примере параметры сохранения установлены по умолчанию. Вы сразу получите результат в виде отдельного файла.
Если вы хотите программно преобразовать SVG в PDF, ознакомьтесь со следующими примерами кода C#.
Конвертировать SVG в PDF с помощью метода ConvertSVG()
Статические методы класса Converter могут конвертировать SVG в PDF с помощью одной строки кода. Это самый простой способ конвертации. Преобразование файла в другой формат методами ConvertSVG() представляет собой последовательность операций, среди которых загрузка и сохранение документа:
- Загрузите документ SVG, используя один из конструкторов SVGDocument() ( lineto.svg).
- Создайте экземпляр класса PdfSaveOptions.
- Используйте метод ConvertSVG(), чтобы конвертировать и сохранить SVG в формате PDF.
Следующий фрагмент кода можно использовать для преобразования файла SVG в формат PDF:
1using Aspose.Svg;
2using System.IO;
3using Aspose.Svg.Converters;
4using System.Drawing;
5using Aspose.Svg.Saving;
6...
7
8 // Initialize an SVG document from a file
9 using (var document = new SVGDocument(Path.Combine(DataDir, "lineto.svg")))
10 {
11 // Initialize an instance of the PdfSaveOptions class
12 var saveOptions = new PdfSaveOptions();
13 saveOptions.BackgroundColor = Color.Gray;
14
15 // Convert SVG to PDF
16 Converter.ConvertSVG(document, saveOptions, Path.Combine(OutputDir, "lineto_out.pdf"));
17 }
Конструктор
PdfSaveOptions() инициализирует экземпляр класса PdfSaveOptions, который передается методу ConvertSVG(). Метод
ConvertSVG() принимает document
, saveOptions
, путь к выходному файлу и выполняет операцию преобразования. В приведенном выше примере мы добавляем свойство BackgroundColor, которое устанавливает Color, который будет заполнять фон каждой страницы.
Параметры сохранения
Вы можете конвертировать SVG в PDF, используя параметры сохранения по умолчанию или собственные. Использование PdfSaveOptions или PdfRenderingOptions позволяет настроить процесс рендеринга; вы можете указать размер страницы, поля, цвет фона, права доступа к файлу, Css и т. д.
Property | Description |
---|---|
JpegQuality | Specifies the quality of JPEG compression for images. The default value is 95. |
Css | Gets a CssOptions object which is used for configuration of CSS properties processing. |
DocumentInfo | This property contains information about the output PDF document. |
BackgroundColor | This property sets the color that will fill the background of every page. By default, this property is Transparent. |
PageSetup | This property gets a page setup object and uses it for configuration output page-set. |
HorizontalResolution | Sets the horizontal resolution for output images in pixels per inch. The default value is 300 dpi. |
VerticalResolution | Sets the vertical resolution for output images in pixels per inch. The default value is 300 dpi. |
Encryption | This property gets or sets encryption details. If it is not set, then no encryption will be performed. |
Примечание. Параметры, реализуемые с помощью класса PdfSaveOptions, наследуются от класса PdfRenderingOptions.
Конвертировать SVG в PDF с помощью метода RenderTo()
Рассмотрим сценарий преобразования SVG в PDF с использованием метода RenderTo():
- Инициализируйте документ с помощью конструктора SVGDocument() ( light.svg).
- Инициализируйте экземпляр класса PdfRenderingOptions и укажите свойства документа.
- Создайте новый экземпляр класса PdfDevice.
- Конвертируйте документ методом RenderTo().
Следующий фрагмент кода можно использовать для преобразования файла SVG в формат PDF:
1using Aspose.Svg;
2using System.IO;
3using Aspose.Svg.Drawing;
4using Aspose.Svg.Rendering;
5using Aspose.Svg.Rendering.Pdf;
6...
7
8 // Initialize an SVG document from a file
9 using (var document = new SVGDocument(Path.Combine(DataDir, "light.svg")))
10 {
11 // Initialize an instance of the PdfRenderingOptions class and set custom PageSetup and JpegQuality properties
12 var pdfRenderingOptions = new PdfRenderingOptions();
13 pdfRenderingOptions.PageSetup.AnyPage = new Page(new Drawing.Size(500, 500), new Margin(10, 10, 10, 10));
14 pdfRenderingOptions.JpegQuality = 10;
15
16 // Initialize an instance of the PdfDevice class
17 using (IDevice device = new PdfDevice(pdfRenderingOptions, Path.Combine(OutputDir, "light_out.pdf")))
18 {
19 // Render SVG to PDF and send the document to the rendering device
20 document.RenderTo(device);
21 }
22 }
Конструктор
PdfRenderingOptions() инициализирует новый объект класса
PdfRenderingOptions, который передается в качестве аргумента конструктору
PdfDevice(options, file
). Последний инициализирует новый экземпляр класса
PdfDevice, используя параметры рендеринга и имя выходного файла. Метод
RenderTo(device
) преобразует SVG в PDF и отправляет текущий документ на выходное устройство рендеринга.
JpegQuality
определяет качество сжатия изображений в формате JPEG. Значение по умолчанию – 95. В приведенном выше примере использованное значение JpegQuality
равно 10. На рисунке показано преобразование SVG в PDF для двух файлов
light.svg и
lineto.svg: a) Значение JpegQuality
установлено по умолчанию; b) Значение JpegQuality
равно 10.
Вы можете попробовать наш бесплатный онлайн-конвертер SVG в PDF Converter, который работает качественно, легко и быстро. Просто загрузите, конвертируйте файлы и получите результаты через несколько секунд!