标签: pdfbox

如何使用pdfbox检查文本是否透明

我进行了子类化PDFStreamEngine和重载processTextPosition,现在我可以像这样重建文本PDFTextStripper,但我不想处理透明文本,这通常是垃圾。

我如何知道某些文本是否透明?

java pdfbox

0
推荐指数
1
解决办法
1862
查看次数

即使我可以打开文件,PDFBox也会返回isEncrypted true

我正在使用 PDFBox 来确定 pdf 文件是否受密码保护。这是我的代码:

boolean isProtected = pdfDocument.isEncrypted();
Run Code Online (Sandbox Code Playgroud)

我的文件属性在截图中。在这里,我isProtected= true什至不需要密码就可以打开它。

注意:该文件有文档打开密码:否和权限密码:是。

单击此处查看文件

java pdfbox

0
推荐指数
1
解决办法
2700
查看次数

使用java将PDF转图像

程序员朋友们,美好的一天。我是java新手,我需要从pdf的特定部分创建图像。

目前,我正在使用 pdfbox。

这是我从 pdf 创建图像的代码(它正在工作,但它创建了整个 pdf 页面的图像):

PDDocument document = PDDocument.load(new File(PDFFILE));

            PDFRenderer pdfRenderer = new PDFRenderer(document);
            for (int page = 0; page < document.getNumberOfPages(); ++page)
            {

                BufferedImage bim = pdfRenderer.renderImageWithDPI(page, 300, ImageType.RGB);

                ImageIOUtil.writeImage(bim, path + "-" + (page+1) + ".png", 300);
            }
            document.close();
Run Code Online (Sandbox Code Playgroud)

问题:

我需要根据 pdf 的特定位置(如矩形)创建图像。

有没有办法使用 pdfbox 来做到这一点,或者是否有另一个库可以做到这一点?我尝试搜索但找不到解决方案。
谢谢。

java pdf image pdfbox

0
推荐指数
1
解决办法
6050
查看次数

PDFBOX 安全性不起作用

我正在使用 PDFBOX - 1.8.13,似乎 PDF Security 没有按预期工作。如果设置了所有者密码而未设置用户密码,如果我不提供所有者密码,PDFBOX 允许解密我的 PDF 文件。请帮助我做错的地方。

加密我的pdf文件的代码:

PDDocument document = PDDocument.load(new File("/home/dummy/dummy.pdf"),null);

AccessPermission perms = new AccessPermission();
perms.setCanAssembleDocument(false);;
perms.setCanExtractContent(false);
perms.setCanModify(false);
perms.setCanModifyAnnotations(false);
perms.setCanExtractForAccessibility(false);
perms.setCanFillInForm(false);

perms.setCanPrint(false);
perms.setReadOnly();
perms.setCanPrintDegraded(false);
perms.setCanExtractForAccessibility(false);

document.setAllSecurityToBeRemoved(false);

StandardProtectionPolicy policy = new StandardProtectionPolicy("AdminPasswordTest", "", perms);
policy.setPermissions(perms);

document.protect(policy);

document.save("/home/dummy/dummy_secured.pdf"); 

document.close();
Run Code Online (Sandbox Code Playgroud)

解密我的 PDF 的代码

PDDocument doc = PDDocument.load("/home/dummy/dummy_secured.pdf", true);

if (doc.isEncrypted()) { //remove the security before adding protections
    doc.decrypt(""); //This should not be DECRYPTED because owner password is not provided
    doc.setAllSecurityToBeRemoved(true); //This user is not provided this permissions …
Run Code Online (Sandbox Code Playgroud)

pdf security pdf-generation pdfbox

0
推荐指数
1
解决办法
903
查看次数

从pdf文件中提取文本时出错(java + pdfbox)

我想从 pdf 文件中提取文本。为此,我使用 pdfbox。首先我添加以下依赖项:

<dependencies>
        <dependency>
            <groupId>org.apache.pdfbox</groupId>
            <artifactId>pdfbox</artifactId>
            <version>2.0.4</version>
        </dependency>

    </dependencies>
Run Code Online (Sandbox Code Playgroud)

所以,这里是我从 pdf 中提取文本的代码:

import org.apache.pdfbox.cos.COSDocument;
import org.apache.pdfbox.pdfparser.PDFParser;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.text.PDFTextStripper;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

public class Main {

    public static void main(String[] args) {
        PDFTextStripper pdfStripper = null;
        PDDocument pdDoc = null;
        COSDocument cosDoc = null;
        File file = new File("C:/Users/Ann/Desktop/example.pdf");
        try {


            PDFParser parser = new PDFParser(new FileInputStream(file)); // in this line i get error
            parser.parse();
            cosDoc = parser.getDocument();
            pdfStripper = new PDFTextStripper();
            pdDoc = …
Run Code Online (Sandbox Code Playgroud)

java pdfbox

0
推荐指数
1
解决办法
4514
查看次数

如何在java中将文本放入pdfbox的矩形中?

内容流通过我想在矩形中显示“连接我们”文本。

contentStream.beginText();
contentStream.setFont(PDType1Font.TIMES_ROMAN, 10);
contentStream.newLineAtOffset(260, 240);            
contentStream.showText("Connect with Us:");
contentStream.endText();
contentStream.setNonStrokingColor(235,235,235);
contentStream.addRect(50, 200, 500, 100);
contentStream.fill();
Run Code Online (Sandbox Code Playgroud)

我尝试使用此代码获取矩形中的文本,但没有在矩形中看到文本。

java pdfbox

0
推荐指数
1
解决办法
2126
查看次数

如何从 pdfBox 导入 ImageIOUtil 和 PDFText2HTML 类

我正在尝试获取远程 pdf 文件并对其执行一些操作。为此,我使用 PDFBox。我无法获取工具包来导入 ImageIOUtil 和 PDFText2HTML

我在搜索网络后通过 Maven 依赖项添加了 pdfbox 2.0.6 我尝试将其更改为 2.0.7 和 2.0.5

我使用的位置:

导入 org.apache.pdfbox.tools.PDFText2HTML;

导入 org.apache.pdfbox.tools.imageio.ImageIOUtil;

此处的 Javadoc 中指定了这些: https://pdfbox.apache.org/docs/2.0.5/javadocs/org/apache/pdfbox/tools/imageio/ImageIOUtil.html https://pdfbox.apache.org/docs /2.0.7/javadocs/org/apache/pdfbox/tools/PDFText2HTML.html

但我得到“无法解析符号“工具””

我的pom:

<dependency>
  <groupId>org.apache.pdfbox</groupId>
  <artifactId>pdfbox</artifactId>
  <version>2.0.7</version>
</dependency>
<dependency>
  <groupId>org.apache.pdfbox</groupId>
  <artifactId>fontbox</artifactId>
  <version>2.0.7</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

我的班级进口:

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.tools.imageio.ImageIOUtil;
import org.apache.pdfbox.tools.PDFText2HTML;
import org.apache.pdfbox.text.PDFTextStripper;
Run Code Online (Sandbox Code Playgroud)

java maven pdfbox

0
推荐指数
1
解决办法
1796
查看次数

文本方向和页面旋转调整坐标有什么区别?

TextPosition 类引用的“页面旋转调整坐标”和“文本方向调整坐标”有什么区别?直观的解释可能是最好的。

pdfbox

0
推荐指数
1
解决办法
789
查看次数

如何在 Java 中将 PDDocument 转换为 Base64 字符串?

如何将 PDDocument(pdf 文档包含文字和图像,如果可能)转换为 Base64 字符串?是否有任何代码建议。请。

java base64 pdfbox tobase64string

0
推荐指数
1
解决办法
1457
查看次数

Apache PdfBox:关于坐标的混淆

我尝试从 PDF 中提取一些文本。为此,我需要定义一个包含文本的矩形。

当我将文本提取的坐标与绘图的坐标进行比较时,我认识到坐标可能具有不同的含义。

package MyTest.MyTest;

import org.apache.pdfbox.pdmodel.*;
import org.apache.pdfbox.pdmodel.PDPageContentStream.*;
import org.apache.pdfbox.text.*;
import java.awt.*;
import java.io.*;

public class MyTest 
{   
  public static void main (String [] args) throws Exception
  { 
    PDDocument pd = PDDocument.load (new File ("my.pdf"));  
    PDFTextStripperByArea st = new PDFTextStripperByArea ();
    PDPage pg = pd.getPage (0);

    float h = pg.getMediaBox ().getHeight ();
    float w = pg.getMediaBox ().getWidth ();
    System.out.println (h + " x " + w + " in internal units");
    h = h / 72 * 2.54f …
Run Code Online (Sandbox Code Playgroud)

java pdfbox

0
推荐指数
1
解决办法
3206
查看次数

从字节[]识别分页符

我有一个用例,我通过将字节写入 ServletOutputStream 来下载一个大文件,我想返回一些指定的页面,而无需在内存中完全加载文件并使用库。

  1. 是否可以从字节流中识别分页符?
  2. 如果是,正确的方法应该是什么?

编辑 该文件是使用 Apache PDFBox 创建和存储的。

java arrays pdfbox

0
推荐指数
1
解决办法
215
查看次数

如何使用 Ghostscript 检查 pdf 是否已转换为 pdf/a?

我寻找答案,但我能找到的只是如何将 pdf 转换为 pdf/a,这就是我已经在做的事情。现在我需要查找pdf是否已转换,以防止不必要的第二次转换。现在我正在使用 Aspose 来检查 pdf 是否已转换,但它并不总是正常工作。或者也许 pdfbox 或 itext 有不同的方法?

预先感谢您的所有帮助。

pdf itext ghostscript pdfbox aspose.pdf

-1
推荐指数
1
解决办法
946
查看次数

使用"PDFBox"如何识别"目录"页面

我正在使用apache pdfbox框架来阅读pdf文本内容.我必须从"目录"页面(如果存在于pdf中)获取内容,应该能够通过pdfbox api识别内容表页面.请提供您的建议.

pdf pdfbox

-2
推荐指数
1
解决办法
664
查看次数