【问题标题】:Read specific page from a File从文件中读取特定页面
【发布时间】:2023-04-01 05:14:01
【问题描述】:

我正在尝试将文件的特定页面读入 Byte[]。我试过以下代码..

import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.file.Path;

Path path = Paths.get("path/to/file");
byte[] data = Files.readAllBytes(path);

import java.io.RandomAccessFile;
RandomAccessFile f = new RandomAccessFile(fileName, "r");
byte[] b = new byte[(int)f.length()];
f.read(b);

但我不确定 File 类是否可以识别文件中的页面。所以任何人都可以建议我应该如何去做,将不胜感激。

谢谢。

【问题讨论】:

  • 文件是什么。 PDF 或 DOc 或 txt ?
  • 我正在处理的文件大多是.pdf
  • 你需要使用一个库来解析.pdf文件。
  • 如果你想要一个有特定页面的PDF,那么PDFBox确实是一种可能。
  • 嗨@Prashant,你检查我的答案了吗?

标签: java file bytearray bufferedreader document


【解决方案1】:

我建议使用PDFbox

例子:

PDPage page = (PDPage)doc.getPages().get( 0 );  //option1
PDPage page = (PDPage)doc.getPage(0); //option2

详情: PDPagegetPage(int pageIndex) 返回给定索引处的页面。

【讨论】:

  • 我怀疑他想要一个带有该页面的新 PDF。所以你也应该保存它。
  • @Backtrack:谢谢。我尝试了 PDFBox,效果很好。谢谢你。抱歉,由于没有足够的信用,我无法为您的答案投票。
  • @TilmanHausherr:是的。我需要新的 pdf,所以我将它保存到另一个文件中
  • 然后这样做:PDDocument newdoc = new PDDocument(); newdoc.addPage(page); newdoc.save(...);
猜你喜欢
  • 2014-04-25
  • 2011-10-13
  • 2023-02-26
  • 2012-11-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多