突出显示文本PDF Box Reader

时间:2019-01-06 10:40:40

标签: java swing compare pdfbox

我想突出显示pdf中的垂直文本。我编写了以下代码,但是我得到了带有框的空pdf。我想显示现有的pdf内容,并且应该在文本上绘制框,这样它将充当文本高音。

      File file = new File(pdfName);
      PDDocument document = PDDocument.load(file);

      PDPage page = document.getPage(0);

      //Instantiating the PDPageContentStream class
      PDPageContentStream contentStream = new PDPageContentStream(document, page);

      //Setting the non stroking color
      contentStream.setNonStrokingColor(Color.DARK_GRAY);

      //Drawing a rectangle 
      contentStream.addRect(data.get(0).getX(), data.get(0).getY(), data.get(0).getWidth(), data.get(0).getHeight());

      //Drawing a rectangle
      contentStream.fill();

      System.out.println("rectangle added");

      //Closing the ContentStream object
      contentStream.close();

      //Saving the document
      //File file2 = new File("CompareOutput.pdf");

      //File fileOutput = new File("CompareOutput.pdf");
      document.save("CompareOutput.pdf");

      //Closing the document
      document.close();

1 个答案:

答案 0 :(得分:2)

代替

PDPageContentStream contentStream = new PDPageContentStream(document, page);

使用

PDPageContentStream contentStream = new PDPageContentStream(document, page, AppendMode.APPEND, true, true))

通过这种方式,您的新内容流将被附加。

但是,我预计会有另一个问题,您可能希望“亮点”是透明的。看看this answer