JWorld@TW the best professional Java site in Taiwan
      註冊 | 登入 | 全文檢索 | 排行榜  

» JWorld@TW » Java Tools  

按列印兼容模式列印這個話題 列印話題    把這個話題寄給朋友 寄給朋友   
reply to postflat modego to previous topicgo to next topic
本主題所含的標籤
無標籤
作者 PBFBOX 解析 PDF Table 問題
jhonwu





發文: 2
積分: 0
於 2018-04-10 05:36 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
各位大大:

我有個問題請教,我使用 pdfBox 來做PDF解析,不過現在有個PDF檔案在解析時會有問題,
當PDF 表格內有圖片、或是欄格為空白時,無法判斷為空白欄格,導致解析欄位時會有錯誤。

想請問大大們有無指教方法?以下是我檢附的程式碼

要轉換的PDF畫面


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
private void pdfReader(String path) {
    File pdfFile = new File(path);
    List<String[]> list = new ArrayList<String[]>();
    File file = new File(outPath);
    PDDocument document = null;
    try {
 
      // 建立檔案
      if (file.exists()) {
        file.delete();
 
      }
      file.createNewFile();
      ByteArrayOutputStream out = new ByteArrayOutputStream();
      BufferedWriter fw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file, true), "UTF-8"));
 
      // 方式二:
      document = PDDocument.load(pdfFile);
 
      // 取得頁碼
      int pages = document.getNumberOfPages();
 
      // 讀取內容
      PDFTextStripperByArea stripperByArea = new PDFTextStripperByArea();
      stripperByArea.setSortByPosition(true);      
      PDFTextStripper stripper = new PDFTextStripper();
      // 依順序輸出
      UnusualGB2Big5 code = new UnusualGB2Big5();
      String content;
      stripper.setWordSeparator(String.valueOf(sep));
      for (int i = 1; i <= pages; i++) {
        String s;
        stripper.setSortByPosition(true);
        stripper.setPageStart("** Page" + i + "**\r\n");
        stripper.setStartPage( i );
        stripper.setEndPage( i );
        content = stripper.getText(document);
        content += "\n";
        s = code.VaildString(content);
        System.out.println( s );
        out.write(s.getBytes());
      }
      if (document != null)
        document.close();
 
      fw.write(out.toString());
      System.out.println(out.toString());
      fw.close();
 
    } catch (Exception e) {
      System.out.println( e );
    }
  }


產生出來的結果


裡想要的結果


jhonwu edited on 2018-04-10 08:44
reply to postreply to post
話題樹型展開
人氣 標題 作者 字數 發文時間
308 PBFBOX 解析 PDF Table 問題 jhonwu 2066 2018-04-10 05:36
228 Re:PBFBOX 解析 PDF Table 問題 layolayo2002 133 2018-04-10 07:54
326 Re:PBFBOX 解析 PDF Table 問題 jhonwu 37 2018-04-10 08:45
» JWorld@TW »  Java Tools

reply to postflat modego to previous topicgo to next topic
  已讀文章
  新的文章
  被刪除的文章
Jump to the top of page

JWorld@TW 本站商標資訊

Powered by Powerful JuteForum® Version Jute 1.5.8