1

Excel ファイルとそのエンティティ (チャート、テーブル、画像) を jpeg/png 画像に変換したいと考えています。現在、そのために aspose を使用しています。これが私のコードです

public static int excelToImages(final String sourceFilePath, final String outFilePrefix) throws Exception {
    int noOfImages = 0;

    Workbook workbook = getWorkbook(sourceFilePath);
    List<Worksheet> worksheets = getAllWorksheets(workbook);

    if (worksheets != null) {
        for (Worksheet worksheet : worksheets) {
            if (worksheet.getCells().getCount() > 0) {
                String outFilePath = FileUtils.getAbsoluteFilePath(outFilePrefix + (noOfImages++));

                SheetRender sr = new SheetRender(worksheet, getImageOrPrintOptions());
                sr.toImage(0, outFilePath);
            }
        }
    }
    return noOfImages;
}

private static ImageOrPrintOptions getImageOrPrintOptions() {
    ImageOrPrintOptions imgOptions = new ImageOrPrintOptions();
    imgOptions.setImageFormat(ImageFormat.getJpeg());
    imgOptions.setOnePagePerSheet(true);
    return imgOptions;
}

private static List<Worksheet> getAllWorksheets(final Workbook workbook) {
    List<Worksheet> worksheets = new ArrayList<Worksheet>();

    WorksheetCollection worksheetCollection = workbook.getWorksheets();
    for (int i = 0; i < worksheetCollection.getCount(); i++) {
        worksheets.add(worksheetCollection.get(i));
    }
    return worksheets;
}

私の問題は、出力画像のサイズが複数のA4サイズに分割されるか、1枚のシートが値に依存することです

imgOptions.setOnePagePerSheet(true);

出力画像ファイルのサイズをカスタマイズする方法を教えてもらえますか?

4

1 に答える 1

0

で試すことができますimgOptions.setOnlyArea(true);。これにより、画像のサイズが、すべてを画像に配置するために必要な最小限に設定されます。しかし、生成された画像がA4のパーツに分割されているかどうかはわかりません。

于 2015-09-02T07:11:06.327 に答える