获取java中IFS As400文件夹中RTF文档的总页数

问题描述 投票:0回答:2

我需要获取位于 AS400 系统内的 IFS 文件夹中的 RTF 文档的总页数。 我可以使用 iTextPDF PDFReader 获取 PDF 文档的页面详细信息,但我遇到了 RTF 文档的障碍。 或者有没有办法读取这个 RTF 文档的页脚,因为我在页脚中定义了总页数。我可以逐行读取文档,但不能读取页脚内容。

请为我提供一些帮助。我已经被这个问题困扰好几天了..

我使用下面的代码来获取 PDF 的详细信息。

AS400 as400 = new AS400("xxx.com","abc","xxxx");
 String filePath = "/QDLS/FOLDERLIST/FOLDER1/FOLDER2/";

IFSFile qdlsDirectory = new IFSFile(as400,filePath);

IFSFile[] files = qdlsDirectory.listFiles();

for(int i=0;i<files.length;i++){
    fileName = files[i].getName();
                                    if(fileName.toLowerCase().indexOf(".pdf") != -1 && fileName.toLowerCase().indexOf(mixCodes.toLowerCase())!=-1) {  
PdfReader document = new PdfReader(new IFSFileInputStream(files[i])); 
pageCount = document.getNumberOfPages();  
}
java rtf jt400
2个回答
0
投票

您可以通过稍微修改 Java 中的 RTF 行计数 中的代码来计算显式分页符(其中提供了读取 RTF 文档并计算行数的示例)。您可以使用类似的代码来计算显式分页符,只需将最后一行修改为:

System.out.println(plainText.split("\\page").length);

0
投票

大约:

  • 计算文档中所有 \par 和 \line 标记。
  • 使用正则表达式从文档中删除所有 RTF 标记。
  • 使用剩余文档大小和每页平均字符数来计算估计页数。
© www.soinside.com 2019 - 2024. All rights reserved.