Конвертировать 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; 1// Convert SVG to PDF using C#
2
3// Initialize an SVG document from a file
4using (SVGDocument document = new SVGDocument(Path.Combine(DataDir, "lineto.svg")))
5{
6 // Initialize an instance of the PdfSaveOptions class
7 PdfSaveOptions saveOptions = new PdfSaveOptions();
8 saveOptions.BackgroundColor = System.Drawing.Color.Gray;
9
10 // Convert SVG to PDF
11 Converter.ConvertSVG(document, saveOptions, Path.Combine(OutputDir, "lineto_out.pdf"));
12}Конструктор
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; 1// Convert SVG to PDF in C# with custom page settings
2
3// Initialize an SVG document from a file
4using (SVGDocument document = new SVGDocument(Path.Combine(DataDir, "light.svg")))
5{
6 // Initialize an instance of the PdfRenderingOptions class and set custom PageSetup and JpegQuality properties
7 PdfRenderingOptions pdfOptions = new PdfRenderingOptions();
8 pdfOptions.PageSetup.AnyPage = new Page(new Drawing.Size(500, 500), new Margin(10, 10, 10, 10));
9 pdfOptions.JpegQuality = 10;
10
11 // Initialize an instance of the PdfDevice class
12 using (IDevice device = new PdfDevice(pdfOptions, Path.Combine(OutputDir, "light_out.pdf")))
13 {
14 // Render SVG to PDF, send the document to the rendering device
15 document.RenderTo(device);
16 }
17}Конструктор
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, который работает качественно, легко и быстро. Просто загрузите, конвертируйте файлы и получите результаты через несколько секунд!
