Android實現excel/pdf/word/odt/圖片相互轉換
更新時間:2023年04月13日 10:30:39 作者:芝麻粒兒
這篇文章主要為大家詳細介紹了Android如何實現excel/pdf/word/odt/圖片之間的相互轉換,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
實踐過程
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圖片轉換的資料請關注腳本之家其它相關文章!
相關文章
Android動畫 實現開關按鈕動畫(屬性動畫之平移動畫)實例代碼
這篇文章主要介紹了Android動畫 實現開關按鈕動畫(屬性動畫之平移動畫)實例代碼的相關資料,需要的朋友可以參考下2016-11-11Android local.properties 文件讀取實例詳解
這篇文章主要介紹了Android local.properties 文件讀取實例詳解的相關資料,需要的朋友可以參考下2017-05-05詳解Android Service與Activity之間通信的幾種方式
這篇文章主要介紹了詳解Android Service與Activity之間通信的幾種方式,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-04-04