2013-07-09 9 views
1

jpeg/png 이미지로 엑셀 파일과 관련 정보 (차트, 테이블, 이미지)를 변환하고 싶습니다. 현재 aspose를 사용하고 있습니다. 여기 내 코드는Excel 이미지 변환

내 문제는 출력 이미지의 크기가 여러 A4 크기 또는 싱글 1 장으로 분할 중 하나가

의 값에 따라 달라집니다입니다
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; 
} 

imgOptions.setOnePagePerSheet(true); 

아무도 말해 줄 수 어떻게 사용자 정의 할 수 있습니다 출력 이미지 파일의 크기?

답변

0

imgOptions.setOnlyArea(true);으로 시도 할 수 있습니다. 이렇게하면 모든 것을 이미지에 적용하는 데 필요한 최소 크기로 이미지의 크기가 설정됩니다. 그러나 생성 된 이미지가 A4로 분할되는지 확실하지 않습니다.