这与类似的question on iText有关,但与pdfbox(使用版本1.8.6)有关,所以我在这里发布了另一个问题。
与其他链接一样,我正在尝试将this pdf转换为txt。原始pdf有文字
【表紙】
【提出書類】有価証券報告書
【根拠条文】金融商品取引法第24条第1項
【提出先】近畿財務局長
【提出日】平成22年6月28日
【事業年度】第27期(自 平成21年4月1日 至 平成22年3月31日)
【会社名】株式会社カネミツ
【英訳名】KANEMITSU CORPORATION
我使用的代码如下;
String fileName = "S000607V.pdf";
PDDocument pdf = PDDocument.load(new File(fileName));
if(pdf.isEncrypted()){pdf.decrypt("");}
PDFTextStripper stripper = new PDFTextStripper();
Writer output = new OutputStreamWriter(System.out);
stripper.writeText(pdf, output);
根据以下内容给出了乱码输出。
????
?????? ???????
?????? ????????24????
????? ??????
????? ??22???28?
?????? ?27??????21??????????22???31??
????? ????????
????? KANEMITSU CORPORATION
有趣的是,pdfbox返回半角字母数字(“24”,“22”,“KANEMITSU”),而iText output返回日文字符,但不返回出现的字母数字字符这里。
使用pdfbox版本1.8.5时,我遇到了与其他pdf类似的问题,尽管这是resolved in 1.8.6 following this bug fix。这里提出的问题似乎无关。