Конвертировать 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, следующий пример демонстрирует, насколько это просто:

  1. Загрузите файл SVG с помощью класса SVGDocument. В следующем примере мы создаем содержимое SVG с нуля.
  2. Создайте новый объект XpsSaveOptions. Используйте пустой конструктор XpsSaveOptions() для преобразования с параметрами сохранения по умолчанию.
  3. Используйте один из методов с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 и многое другое.

MetodDescription
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, необходимо выполнить несколько шагов:

  1. Загрузите файл SVG с помощью одного из конструкторов SVGDocument() класса SVGDocument.
  2. Создайте новый объект XpsSaveOptions и укажите необходимые свойства. Конструктор XpsSaveOptions() инициализирует экземпляр класса XpsSaveOptions, который передается методу converSVG():
    • Используйте метод setJpegQuality(), чтобы указать качество сжатия JPEG.
    • Используйте метод setBackgroundColor(), чтобы установить цвет, заполняющий фон.
    • Используйте методы setHorizontalResolution() и setVerticalResolution(), чтобы установить разрешение по горизонтали и вертикали для выходных файлов XPS.
    • Используйте метод setPageSetup(), чтобы указать размер страницы и поля для выходного документа.
  3. Вызвать метод с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 с высоким качеством, легко и быстро. Просто загрузите, конвертируйте ваши файлы и получите результат за несколько секунд!

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.