/src/test/java/com/eastrobot/doc/util/ConvertTests.java

https://github.com/ekoz/kbase-doc · Java · 104 lines · 73 code · 17 blank · 14 comment · 0 complexity · bf7e625a72694a6130f29e17e0cb7fed MD5 · raw file

  1. /*
  2. * Power by www.xiaoi.com
  3. */
  4. package com.eastrobot.doc.util;
  5. import java.io.File;
  6. import java.io.FileNotFoundException;
  7. import java.io.IOException;
  8. import java.util.Calendar;
  9. import java.util.Map;
  10. import org.artofsolving.jodconverter.OfficeDocumentConverter;
  11. import org.artofsolving.jodconverter.document.DefaultDocumentFormatRegistry;
  12. import org.artofsolving.jodconverter.document.DocumentFamily;
  13. import org.artofsolving.jodconverter.document.DocumentFormat;
  14. import org.artofsolving.jodconverter.document.DocumentFormatRegistry;
  15. import org.artofsolving.jodconverter.office.DefaultOfficeManagerConfiguration;
  16. import org.artofsolving.jodconverter.office.OfficeManager;
  17. import org.junit.Test;
  18. /**
  19. * @author <a href="mailto:eko.z@outlook.com">eko.zhan</a>
  20. * @date 2017年12月6日 下午7:55:08
  21. * @version 1.0
  22. */
  23. public class ConvertTests extends BaseTests {
  24. @Test
  25. public void testDocToXml(){
  26. File inputFile = new File("E:/converter-html/local/4.25-1.doc");
  27. File outputFile = new File("E:/converter-html/local/4.25-1.doc.xml");
  28. //IOUtils.copy(new FileInputStream(inputFile), new FileOutputStream(outputFile));
  29. convert(inputFile, outputFile);
  30. }
  31. @Test
  32. public void testEncrypt(){
  33. File inputFile = new File("E:/ConvertTester/encrypt/I_am_encrypt.docx");
  34. File outputFile = new File("E:/ConvertTester/encrypt/I_am_encrypt.html");
  35. convert(inputFile, outputFile, "xiaoi");
  36. }
  37. @Test
  38. public void testVisioAsPdf(){
  39. File inputFile = new File("E:/ConvertTester/TestFiles/I_am_a_vsdx.vsdx");
  40. File outputFile = new File("E:/ConvertTester/TestFiles/I_am_a_vsdx_libreoffice.pdf");
  41. convert(inputFile, outputFile);
  42. }
  43. @Test
  44. public void testDocToDocx() throws FileNotFoundException, IOException{
  45. File inputFile = new File("E:/ConvertTester/CeairFile/2015120209414170.doc");
  46. File outputFile = new File("E:/ConvertTester/CeairFile/2015120209414170.docx");
  47. //IOUtils.copy(new FileInputStream(inputFile), new FileOutputStream(outputFile));
  48. convert(inputFile, outputFile);
  49. }
  50. @Test
  51. public void testPptToPdf() throws FileNotFoundException, IOException{
  52. File inputFile = new File("E:/ConvertTester/ppt/1527243826237.ppt");
  53. File outputFile = new File("E:/ConvertTester/ppt/1527243826237.pdf");
  54. convert(inputFile, outputFile);
  55. }
  56. @Test
  57. public void testConvert() throws IOException {
  58. // File inputFile = new File("D:/Workspace/kbase-doc/target/classes/static/DATAS/1512561737109/1.doc");
  59. File inputFile = new File("D:/Workspace/kbase-doc/target/classes/static/DATAS/1512561737109/1512561737109.html");
  60. File outputFile = new File("D:/Workspace/kbase-doc/target/classes/static/DATAS/1512561737109/" + Calendar.getInstance().getTimeInMillis() + ".docx");
  61. // if (!outputFile.exists()){
  62. // outputFile.createNewFile();
  63. // }
  64. DefaultOfficeManagerConfiguration configuration = new DefaultOfficeManagerConfiguration();
  65. configuration.setPortNumber(8100);
  66. configuration.setOfficeHome(new File("D:/Program Files/LibreOffice"));
  67. OfficeManager officeManager = configuration.buildOfficeManager();
  68. officeManager.start();
  69. DocumentFormatRegistry formatRegistry = new DefaultDocumentFormatRegistry();
  70. OfficeDocumentConverter converter = new OfficeDocumentConverter(officeManager, formatRegistry);
  71. try {
  72. converter.convert(inputFile, outputFile);
  73. } catch (Exception e){
  74. e.printStackTrace();
  75. } finally {
  76. officeManager.stop();
  77. }
  78. }
  79. @Test
  80. public void testGetFormatByExtension(){
  81. DocumentFormatRegistry formatRegistry = new DefaultDocumentFormatRegistry();
  82. DocumentFormat formatByExtension = formatRegistry.getFormatByExtension("docx");
  83. System.out.println(formatByExtension.getName());
  84. Map<DocumentFamily, Map<String, ?>> storePropertiesByFamily = formatByExtension.getStorePropertiesByFamily();
  85. System.out.println(storePropertiesByFamily.size());
  86. }
  87. }