Java implementation Word / Excel / TXT to PDF

introduction:

       Some time ago the company to do the education system, the system needs real-time recording situation and the user program of study, so some courses in addition to video, some text documents courseware same is true, for the first time the program is about office-related types of files to convert Html files, and then display the html file corresponding, PC end almost no problem, but after individual file and then convert html, style appeared confused, im doing a transcoding process, but there are few garbled, and finally change the program, and finally unified the documents into pdf, and show the front end by way of the flow, including Word Excel PPT TXT PDF and other documents, as follows:

   Note: The show could have been pdf directly, but can not show on Andior pdf, finally unified on the way to read display with the IO stream.

1: Add rely maven

<!--excel word txt ppt转pdf依赖-->
        <dependency>
            <groupId>aspose</groupId>
            <artifactId>pdf</artifactId>
            <version>11.5.0</version>
        </dependency>
        <dependency>
            <groupId>aspose</groupId>
            <artifactId>words</artifactId>
            <version>16.4.0</version>
        </dependency>
        <dependency>
            <groupId>aspose</groupId>
            <artifactId>cell</artifactId>
            <version>8.9.2</version>
        </dependency>
        <dependency>
            <groupId>aspose</groupId>
            <artifactId>pdf</artifactId>
            <version>11.5.0</version>
        </dependency>

2: Add the license-excel.xml file (Resource folder)

<License>
  <Data>
    <Products>
      <Product>Aspose.Total for Java</Product>
      <Product>Aspose.Words for Java</Product>
    </Products>
    <EditionType>Enterprise</EditionType>
    <SubscriptionExpiry>20991231</SubscriptionExpiry>
    <LicenseExpiry>20991231</LicenseExpiry>
    <SerialNumber>8bfe198c-7f0c-4ef8-8ff0-acc3237bf0d7</SerialNumber>
  </Data>
  <Signature>sNLLKGMUdF0r8O1kKilWAGdgfs2BvJb/2Xp8p5iuDVfZXmhppo+d0Ran1P9TKdjV4ABwAgKXxJ3jcQTqE/2IRfqwnPf8itN8aFZlV3TJPYeD3yWE7IT55Gz6EijUpC7aKeoohTb4w2fpox58wWoF3SNp6sK6jDfiAUGEHYJ9pjU=</Signature>
</License>

3: code is as follows:

  3.1 Gets License file

 1 public static boolean getLicense(){
 2         boolean result = false;
 3         InputStream is =  null;
 4         try{
 5             
 6             is =UploadFiles.class.getClassLoader().getResourceAsStream("license-excel.xml");
 7             License aposeLic = new License();
 8             aposeLic.setLicense(is);
 9             result = true;
10         }catch(Exception e){
11             e.printStackTrace();
12         }finally{
13             try {
14                 is.close();
15             } catch (IOException e) {
16                 // TODO Auto-generated catch block
17                 e.printStackTrace();
18             }
19         }
20         return result;
21     }

 3.2: Text file transcoding

 1   /* 将txt 转换编码
 2    * @param file
 3    * @author zsqing
 4   */
 5 public File saveAsUTF8(File file){
 6         String code = "gbk";
 7         byte[] head = new byte[3];
 8         try {
 9             InputStream inputStream = new FileInputStream(file);
10             inputStream.read(head);
11             if (head[0] == -1 && head[1] == -2) {
12                 code = "UTF-16";
13             } else if (head[0] == -2 && head[1] == -1) {
14                 code = "Unicode";
15             } else if (head[0] == -17 && head[1] == -69 && head[2] == -65) {
16                 code = "UTF-8";
17             }
18             inputStream.close();
19 
20             System.out.println(code);
21             if (code.equals("UTF-8")) {
22                 return file;
23             }
24             String str = FileUtils.readFileToString(file, code);
25             FileUtils.writeStringToFile(file, str, "UTF-8");
26             System.out.println("转码结束");
27         } catch (FileNotFoundException e) {
28             e.printStackTrace();
29         } catch (IOException e) {
30             e.printStackTrace();
31         }
32 
33         return file;
34     }

3.3: word convert pdf and txt

 1 /**
 2  * 将word txt转换成pdf
 3  * @param inPath
 4  * @param outPath
 5  * @author zsqing
 6 */
 7 public  void wordAndTextToPdf(String inPath, String outPath ,String localIP,HttpServletRequest request)
 8     {
 9         String fileToPdfUrl="";
10         boolean flag = false;
11         File file = null;
12         FileOutputStream os = null;
13 is          the try 
14          {
 15              // Long Old = System.currentTimeMillis ();
 16              // Create a blank document 
. 17              File = new new File (outPath);
 18 is              File = saveAsUTF8 (File);
 . 19              OS = new new a FileOutputStream (File);
 20 is              // InPath is to be converted documents 
21              com.aspose.words.Document DOC = new new com.aspose.words.Document (INPATH);
 22              / * 
23               * full support for DOC, DOCX were OOXML, RTF, HTML, OpenDocument, between PDF, EPUB, XPS, SWF converter
 24               * / 
25             doc.save (OS, SaveFormat.PDF);
 26 is              In Flag = to true ;
 27              // Long now = System.currentTimeMillis ();
 28              // System.out.println ( "Total time:" + ((now - old ) / 1000.0) + "s"); // when transformed with 
29              
30          }
 31 is          the catch (Exception E)
 32          {
 33 is              e.printStackTrace ();
 34 is          }
 35          the finally 
36          {
 37 [              the try 
38 is              {
 39                  IF ! (OS = null )
 40                 {
41                     os.close();
42                 }
43             }
44             catch (Exception e)
45             {
46                 e.printStackTrace();
47             }
48             if (!flag)
49             {
50                 file.deleteOnExit();
51             }
52         }
53     }

3.4: Excel converter pdf

 1 /**
 2 * converted into pdf docx
 3 * @param InPath
 4  * @param outPath
 5  * @author zsqing
 6  */
 7  public  void wordToPdf(String inPath, String outPath ,String localIP,HttpServletRequest request)
 8     {
 9         String fileToPdfUrl="";
10         boolean flag = false;
11         File file = null;
12         FileOutputStream os = null;
13         try
14         {
15             //long old = System.currentTimeMillis();
16             // 新建一个空白文档
17             file = new File(outPath);
File = 18 is saveAsUTF8 (File);
 . 19 OS = new new a FileOutputStream (File);
 20 is              // document InPath is to be converted 
21 is com.aspose.words.Document DOC = new new com.aspose.words.Document (INPATH);
 22 is              / *
23 * Full support for DOC, DOCX were OOXML, between RTF, HTML, OpenDocument, PDF, EPUB, XPS, SWF conversion
24               * / 
25              doc.save (OS, SaveFormat.PDF);
 26 is = In Flag to true ;
 27              // Long now = System.currentTimeMillis (); 
28              // System.out.println ( "Total time:" + (( ; old) / 1000.0) + "s") - now // when transformed with
29             
30         }
31         catch (Exception e)
32         {
33             e.printStackTrace();
34         }
35         finally
36         {
37             try
38             {
39                 if (os != null)
40                 {
41                     os.close();
42                 }
43             }
44             catch (Exception e)
45             {
46                 e.printStackTrace();
47             }
48             if (!flag)
49             {
50                 file.deleteOnExit();
51             }
52         }
53     }

Some recent work on the less busy writing, first published in 2020 to share with you, learn together, grow together!

Guess you like

Origin www.cnblogs.com/zhaosq/p/12168046.html