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 担任支持开发人员/传播者。
我想为第一页生成缩略图。尝试用以下页面生成,无法打印分辨率好的图像,缩放时应该显示分辨率好的图像。即使我们可以选择为前几列打印缩略图也可以。请提出建议。
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 担任支持开发人员/传播者。