Android实现excel/pdf/word/odt/图片相互转换

Psyche ·
更新时间:2024-11-10
· 559 次阅读

目录

实践过程

pdf转excel

excel转pdf

ppt转pdf

pdf转ppt

pdf转word

word转pdf

excel转图片

pdf转图片

odt转pdf

实践过程 pdf转excel public static long pdfToExcel(String inFile, String outFile) throws Exception { if (!com.yrnet.transfer.business.transfer.file.License.getPdfLicense()) { return 0; } try { long old = System.currentTimeMillis(); Document doc = new Document(inFile); ExcelSaveOptions options = new ExcelSaveOptions(); options.setFormat(ExcelSaveOptions.ExcelFormat.XLSX); doc.save(outFile, options); Out.print(inFile, outFile, System.currentTimeMillis(), old); return new File(outFile).length(); }catch (Exception e) { e.printStackTrace(); throw new Exception(e.getMessage()); } } excel转pdf public static long excelToPdf(String inFile, String outFile) throws Exception { if (!com.yrnet.transfer.business.transfer.file.License.getExcelLicense()) { return 0; } try { long old = System.currentTimeMillis(); File pdfFile = new File(outFile); Workbook wb = new Workbook(inFile); PdfSaveOptions pdfSaveOptions = new PdfSaveOptions(); pdfSaveOptions.setOnePagePerSheet(true); FileOutputStream fileOS = new FileOutputStream(pdfFile); wb.save(fileOS, SaveFormat.PDF); fileOS.close(); long now = System.currentTimeMillis(); Out.print(inFile, outFile, now, old); return pdfFile.length(); }catch (Exception e) { e.printStackTrace(); throw new Exception(e.getMessage()); } } ppt转pdf public static long pptToPdf(String inFile, String outFile) throws Exception { if (!com.yrnet.transfer.business.transfer.file.License.getPptLicense()) { return 0; } try { long old = System.currentTimeMillis(); File pdfFile = new File(outFile); FileOutputStream os = new FileOutputStream(pdfFile); Presentation pres = new Presentation(inFile); pres.save(os, com.aspose.slides.SaveFormat.Pdf); os.close(); long now = System.currentTimeMillis(); Out.print(inFile, outFile, now, old); return pdfFile.length(); } catch (Exception e) { e.printStackTrace(); throw new Exception(e.getMessage()); } } pdf转ppt public static long pdfToPpt(String inFile, String outFile) { if (!com.yrnet.transfer.business.transfer.file.License.getPdfLicense()) { return 0; } long old = System.currentTimeMillis(); Document pdfDocument = new Document(inFile); PptxSaveOptions pptxOptions = new PptxSaveOptions(); pptxOptions.setExtractOcrSublayerOnly(true); pdfDocument.save(outFile, pptxOptions); long now = System.currentTimeMillis(); Out.print(inFile, outFile, now, old); return new File(outFile).length(); } pdf转word public static long pdfToDoc(String inFile, String outFile) { if (!com.yrnet.transfer.business.transfer.file.License.getPdfLicense()) { return 0; } log.info("开始转换..."); long old = System.currentTimeMillis(); Document pdfDocument = new Document(inFile); DocSaveOptions saveOptions = new DocSaveOptions(); /** 或者DocSaveOptions.DocFormat.DocX*/ saveOptions.setFormat(DocSaveOptions.DocFormat.Doc); pdfDocument.save(outFile, saveOptions); long now = System.currentTimeMillis(); Out.print(inFile, outFile, now, old); log.info("转换结束..."); return new File(outFile).length(); } word转pdf public static long wordToPdf(String inFile, String outFile) throws Exception { if (!com.yrnet.transfer.business.transfer.file.License.getWordLicense()) { return 0; } try { long old = System.currentTimeMillis(); File file = new File(outFile); FileOutputStream os = new FileOutputStream(file); Document doc = new Document(inFile); Document tmp = new Document(); tmp.removeAllChildren(); tmp.appendDocument(doc, ImportFormatMode.USE_DESTINATION_STYLES); System.out.println("开始解析word文档" + inFile); doc.save(os, SaveFormat.PDF); long now = System.currentTimeMillis(); log.info("target file size:{}",file.length()); os.close(); Out.print(inFile, outFile, now, old); return file.length(); } catch (Exception e) { log.error(inFile + "转换失败,请重试",e); throw new Exception(e.getMessage()); } } excel转图片 public static long excelToPic(String inFile, String outFile) throws Exception { if (!com.yrnet.transfer.business.transfer.file.License.getExcelLicense()) { return 0; } try { long old = System.currentTimeMillis(); Workbook wb = new Workbook(inFile); Worksheet sheet = wb.getWorksheets().get(0); ImageOrPrintOptions imgOptions = new ImageOrPrintOptions(); imgOptions.setImageFormat(ImageFormat.getPng()); imgOptions.setCellAutoFit(true); imgOptions.setOnePagePerSheet(true); SheetRender render = new SheetRender(sheet, imgOptions); render.toImage(0, outFile); long now = System.currentTimeMillis(); Out.print(inFile, outFile, now, old); return new File(outFile).length(); }catch (Exception e) { e.printStackTrace(); throw new Exception(e.getMessage()); } } pdf转图片 public static long pdfToPng(String inFile, List<String> outFile) throws Exception { long size = 0; if (!com.yrnet.transfer.business.transfer.file.License.getPdfLicense()) { return size; } try { long old = System.currentTimeMillis(); Document pdfDocument = new Document(inFile); Resolution resolution = new Resolution(960); JpegDevice jpegDevice = new JpegDevice(resolution); for (int index=1;index<=pdfDocument.getPages().size();index++) { String path = inFile.substring(0,inFile.lastIndexOf(".")) + "_"+index+".png"; File file = new File(path); size += file.length(); FileOutputStream fileOs = new FileOutputStream(file); jpegDevice.process(pdfDocument.getPages().get_Item(index), fileOs); outFile.add(path); fileOs.close(); long now = System.currentTimeMillis(); Out.print(inFile, path, now, old); } return size; }catch (Exception e){ log.error(e.getMessage(),e); throw new Exception(e.getMessage()); } } odt转pdf public static long pdfToPng(String inFile, List<String> outFile) throws Exception { long size = 0; if (!com.yrnet.transfer.business.transfer.file.License.getPdfLicense()) { return size; } try { long old = System.currentTimeMillis(); Document pdfDocument = new Document(inFile); Resolution resolution = new Resolution(960); JpegDevice jpegDevice = new JpegDevice(resolution); for (int index=1;index<=pdfDocument.getPages().size();index++) { String path = inFile.substring(0,inFile.lastIndexOf(".")) + "_"+index+".png"; File file = new File(path); size += file.length(); FileOutputStream fileOs = new FileOutputStream(file); jpegDevice.process(pdfDocument.getPages().get_Item(index), fileOs); outFile.add(path); fileOs.close(); long now = System.currentTimeMillis(); Out.print(inFile, path, now, old); } return size; }catch (Exception e){ log.error(e.getMessage(),e); throw new Exception(e.getMessage()); } }

以上就是Android实现excel/pdf/word/odt/图片相互转换的详细内容,更多关于Android excel pdf word odt图片转换的资料请关注软件开发网其它相关文章!



word 图片 pdf Android

需要 登录 后方可回复, 如果你还没有账号请 注册新账号