Конвертировать 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, который работает качественно, легко и быстро. Просто загрузите, конвертируйте файлы и получите результаты через несколько секунд!
