Преобразование многостраничного документа в изображение

Aspose.Words для Java позволяет пользователям экспортировать многостраничные документы в растровые изображения. Это может быть полезно для создания предварительных просмотров, архивов или визуальных представлений документов для использования без редактирования.

Какие форматы поддерживают многостраничный экспорт?

Aspose.Words поддерживает многостраничный экспорт в следующие форматы растровых изображений:

  • Jpeg
  • Gif
  • Png
  • Bmp
  • Tiff
  • WebP

Как экспортировать многостраничный документ в изображение

Функция экспорта многостраничного документа в изображение реализована с помощью класса MultiPageLayout - вы можете указать, как должны быть организованы страницы при сохранении в изображение:

  • SinglePage – сохранить только первую из указанных страниц
  • Grid – расположите страницы в виде сетки слева направо и сверху вниз, указав количество столбцов
  • Horizontal – расположите страницы горизонтально, бок о бок, слева направо, в виде единого вывода
  • Vertical – расположите страницы вертикально, одну под другой, в едином выводе
  • TiffFrames – оформить каждую страницу как отдельный кадр в многокадровом изображении TIFF, применимо только к форматам изображений TIFF

В следующем примере кода показано, как сохранить многостраничный DOCX документ в виде JPEG изображения с горизонтальным расположением:

Document doc = new Document("Rendering.docx");

ImageSaveOptions options = new ImageSaveOptions(SaveFormat.JPEG);
// Set up Horizontal layout.
options.setPageLayout = MultiPageLayout.Horizontal(10);

doc.save("ImageSaveOptions.HorizontalLayout.jpg", options);

Вы также можете настроить внешний вид страницы выходного файла – укажите BackColor, BorderColor и BorderWidth.

В следующем примере кода показано, как сохранить многостраничный DOCX документ в виде PNG изображения с разметкой сетки:

Document doc = new Document("Rendering.docx");

ImageSaveOptions options = new ImageSaveOptions(SaveFormat.PNG);
// Set up a grid layout with:
// - 3 columns per row.
// - 10pts spacing between pages (horizontal and vertical).
options.setPageLayout(MultiPageLayout.grid(3, 10f, 10f));

// Customize the background and border.
options.getPageLayout().setBackColor(Color.lightGray);
options.getPageLayout().setBorderColor(Color.BLUE);
options.getPageLayout().setBorderWidth(2f);

doc.save("ImageSaveOptions.GridLayout.png", options);