Конвертировать SVG в XPS на Java
Зачем конвертировать файлы SVG в формат XPS? Возможно, вы захотите создать высококачественные, готовые к печати документы с сохранением векторной графики или обеспечить совместимость файлов с приложениями Microsoft, использующими формат XPS в качестве стандартного формата документов. Кроме того, конвертируя SVG в XPS, вы можете защищать файлы паролем и цифровой подписью, предоставляя дополнительные функции безопасности для конфиденциальных документов.
В этой статье вы найдете информацию о том, как преобразовать SVG в XPS и как использовать XpsSaveOptions и параметры MemoryStreamProvider.
SVG в XPS одной строкой кода
Статические методы класса Converter в основном используются как самый простой способ преобразования SVG в различные форматы. Вы можете преобразовать SVG в XPS в своем Java-приложении буквально с помощью одной строки кода!
1 // Invoke the convertSVG method() to convert SVG to XPS
2 com.aspose.html.converters.Converter.convertSVG(Path.combine(getDataDir(), "aspose.svg"), new XpsSaveOptions(), Path.combine(getOutputDir(), "aspose.xps"));
Конвертировать SVG в XPS на Java
Если в вашем сценарии требуется рендеринг документа SVG, например, в формат файла XPS, следующий пример демонстрирует, насколько это просто:
- Загрузите файл SVG с помощью класса SVGDocument. В следующем примере мы создаем содержимое SVG с нуля.
- Создайте новый объект XpsSaveOptions. Используйте пустой конструктор XpsSaveOptions() для преобразования с параметрами сохранения по умолчанию.
- Используйте один из методов
сonvertSVG()
класса Converter, чтобы сохранить SVG в виде файла XPS. В примере мы используем метод convertHTML(content, baseUri, options, savePath)`, который принимает четыре параметра: строку с кодом SVG для преобразования, базовую папку для входного файла SVG, экземпляр класса XpsSaveOptions и путь к выходному файлу, где будет сохранен преобразованный файл.
Просмотрите следующий фрагмент кода Java, в котором показан процесс преобразования SVG в XPS с пошаговыми инструкциями:
1 // Prepare SVG code
2 String code = StringExtensions.concat("<svg xmlns='http://www.w3.org/2000/svg'>",
3 "<circle cx ='100' cy ='100' r ='60' fill='none' stroke='red' stroke-width='10' />",
4 "</svg>");
5
6 // Prepare a path for converted file saving
7 String savePath = Path.combine(getOutputDir(), "circle.xps");
8
9 // Initialize an instance of the XpsSaveOptions class
10 XpsSaveOptions options = new XpsSaveOptions();
11
12 // Convert SVG to XPS
13 com.aspose.html.converters.Converter.convertSVG(code, ".", options, savePath);
Параметры сохранения
С помощью XpsSaveOptions, у вас есть возможность персонализировать процесс рендеринга файлов XPS. Это включает в себя настройку таких элементов, как размер страницы, поля, цвет фона, тип мультимедиа CSS и многое другое.
Metod | Description |
---|---|
getCss() | Gets a CssOptions object which is used for configuration of CSS properties processing. |
setBackgroundColor(value) | Sets the color that will fill the background of every page. By default, this property is Transparent . |
setPageSetup(value) | This method sets a page setup object and uses it for configuration output page-set. |
setHorizontalResolution(value) | Sets horizontal resolution for internal images, in pixels per inch. By default this property is 300 dpi. |
setVerticalResolution(value) | Sets vertical resolution for output images in pixels per inch. The default value is 300 dpi. |
Конвертировать SVG в XPS с помощью XpsSaveOptions
Чтобы преобразовать SVG в XPS с указанием XpsSaveOptions, необходимо выполнить несколько шагов:
- Загрузите файл SVG с помощью одного из конструкторов SVGDocument() класса SVGDocument.
- Создайте новый объект
XpsSaveOptions и укажите необходимые свойства. Конструктор
XpsSaveOptions()
инициализирует экземпляр класса XpsSaveOptions, который передается методуconverSVG()
:- Используйте метод
setJpegQuality()
, чтобы указать качество сжатия JPEG. - Используйте метод
setBackgroundColor()
, чтобы установить цвет, заполняющий фон. - Используйте методы
setHorizontalResolution()
иsetVerticalResolution()
, чтобы установить разрешение по горизонтали и вертикали для выходных файлов XPS. - Используйте метод
setPageSetup()
, чтобы указать размер страницы и поля для выходного документа.
- Используйте метод
- Вызвать метод
сonvertSVG(document, options, savePath)
класса Converter. Метод принимает документ, параметры, путь к выходному файлуsavePath
и выполняет операцию преобразования.
В следующем примере показано, как использовать XpsSaveOptions и создать файл XPS с пользовательским размером страницы, полями и разрешением:
1 // Prepare a path to a source SVG file
2 String documentPath = Path.combine(getDataDir(), "aspose.svg");
3
4 // Prepare a path for converted file saving
5 String savePath = Path.combine(getOutputDir(), "aspose-options.xps");
6
7 // Initialize an SVG document from the file
8 SVGDocument document = new SVGDocument(documentPath);
9 try { }
10 finally { if (document != null) document.dispose(); }
11
12 // Initialize XpsSaveOptions. Set up the page size 500x500 pixels, margins, and resolutions
13 XpsSaveOptions options = new XpsSaveOptions();
14 options.setHorizontalResolution(new Resolution(200, UnitType.AUTO));
15 options.setVerticalResolution(new Resolution(200, UnitType.AUTO));
16 options.getPageSetup().setAnyPage(new Page(new com.aspose.html.drawing.Size(500, 500), new Margin(30, 10, 10, 10)));
17
18 // Convert SVG to XPS
19 com.aspose.html.converters.Converter.convertSVG(document, options, savePath);
Вы можете скачать полные примеры и файлы данных по адресу GitHub.
Aspose.HTML предлагает бесплатный онлайн конвертер SVG в XPS, который конвертирует SVG в XPS с высоким качеством, легко и быстро. Просто загрузите, конвертируйте ваши файлы и получите результат за несколько секунд!