Aspose:为第一页生成缩略图

Aspose: Generate Thumbnail for first page

我想为第一页生成缩略图。尝试用以下页面生成,无法打印分辨率好的图像,缩放时应该显示分辨率好的图像。即使我们可以选择为前几列打印缩略图也可以。请提出建议。

Workbook book = new Workbook(new ByteArrayInputStream(documentData));
    // Define ImageOrPrintOptions
    ImageOrPrintOptions imgOptions = new ImageOrPrintOptions();
    // Set the vertical and horizontal resolution
    imgOptions.setVerticalResolution(200);
    imgOptions.setHorizontalResolution(200);
    // Set the image's format
    imgOptions.setImageFormat(ImageFormat.getJpeg());
    // One page per sheet is enabled
    imgOptions.setOnePagePerSheet(true);
    // Get the first worksheet
    Worksheet sheet = book.getWorksheets().get(0);
    // Render the sheet with respect to specified image/print options
    SheetRender sr = new SheetRender(sheet, imgOptions);
    // Render the image for the sheet
    sr.toImage(0, "mythumb.jpg");
    // Creating Thumbnail   
    java.awt.Image img = ImageIO.read(new File("mythumb.jpg")).getScaledInstance(100, 100, BufferedImage.SCALE_SMOOTH);
    BufferedImage img1 = new BufferedImage(100, 100, BufferedImage.TYPE_INT_RGB);
    img1.createGraphics().drawImage(
    ImageIO.read(new File("mythumb.jpg")).getScaledInstance(100, 100, img.SCALE_SMOOTH), 0, 0, null);
    return img1;

如果你使用一些矢量图像文件格式,质量应该没问题。例如,您可以尝试使用 Emf 作为工作表的输出图像格式类型。如果您想渲染特定范围(在工作表中)以在图像中渲染,您应该在渲染工作表之前尝试设置所需的可打印区域,请参阅您可以在代码段开头添加的示例代码行: 例如 示例代码:

........
// Access the first worksheet
Worksheet worksheet = book.getWorksheets().get(0);

// Set the print area with your desired range
worksheet.getPageSetup().setPrintArea("E8:H15");

// Set all margins as 0 to get remove unnecessary white space
worksheet.getPageSetup().setLeftMargin(0);
worksheet.getPageSetup().setRightMargin(0);
worksheet.getPageSetup().setTopMargin(0);
worksheet.getPageSetup().setBottomMargin(0);

..........

我在 Aspose 担任支持开发人员/传播者。