标签: pdfbox

PDFBox将英寸或厘米转换为坐标系

我是PDFBox(和PDF生成)的新手,我很难生成自己的PDF.

我确实有一些以英寸/厘米为单位坐标的文本,我需要将它们转换为PDFBox使用的单位.任何建议/实用程序都可以自动执行此操作?

PDPageContentStream.moveTextPositionByAmount(x,y) 对我毫无意义.

pdfbox unit-conversion

17
推荐指数
1
解决办法
9177
查看次数

如何使用pdfbox生成可下载的PDF(损坏的PDF)?

如何在链接中下载PDF文件?

我正在使用JSF构建Web应用程序,当用户单击"另存为PDF"链接时,应该可以下载PDF.

到目前为止,我有一个生成PDF文件的工作代码,但文件保存在我的桌面上,我想要做的是,当用户点击链接时,pdf文件应该可以下载而不是存储在应用程序中.

更新3: 感谢您的帮助,我修改了我的代码和您的建议,并且它正在运行.

更新2: 我收到以下错误:Adoble Reader无法打开"yourfile.pdf",因为它不是受支持的文件类型,或者因为文件已损坏

更新1: 我正在将我当前的代码添加到您指出的更改中,但是我仍然在努力使这项工作成功

这是我生成PDF的方法:

public ByteArrayOutputStream createPDF() throws IOException, COSVisitorException {

    PDDocument document;
    PDPage page;
    PDFont font;
    PDPageContentStream contentStream;
    PDJpeg front;
    PDJpeg back;

    InputStream inputFront;
    InputStream inputBack;
    ByteArrayOutputStream output = new ByteArrayOutputStream(); 

    // Creating Document
    document = new PDDocument();

    // Creating Pages
    for(int i=0; i<2; i++) {

        page = new PDPage();

        // Adding page to document
        document.addPage(page); 

        // Adding FONT to document
        font = PDType1Font.HELVETICA;           

        // Retrieve Image to be added to the …
Run Code Online (Sandbox Code Playgroud)

java pdfbox web

16
推荐指数
1
解决办法
2万
查看次数

使用PDFbox确定文档中单词的坐标

我正在使用PDFbox提取PDF文档中单词/字符串的坐标,并且到目前为止已成功确定单个字符的位置.这是迄今为止的代码,来自PDFbox doc:

package printtextlocations;

import java.io.*;
import org.apache.pdfbox.exceptions.InvalidPasswordException;

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.common.PDStream;
import org.apache.pdfbox.util.PDFTextStripper;
import org.apache.pdfbox.util.TextPosition;

import java.io.IOException;
import java.util.List;

public class PrintTextLocations extends PDFTextStripper {

    public PrintTextLocations() throws IOException {
        super.setSortByPosition(true);
    }

    public static void main(String[] args) throws Exception {

        PDDocument document = null;
        try {
            File input = new File("C:\\path\\to\\PDF.pdf");
            document = PDDocument.load(input);
            if (document.isEncrypted()) {
                try {
                    document.decrypt("");
                } catch (InvalidPasswordException e) {
                    System.err.println("Error: Document is encrypted with a password.");
                    System.exit(1);
                }
            }
            PrintTextLocations printer …
Run Code Online (Sandbox Code Playgroud)

java pdf pdfbox

16
推荐指数
2
解决办法
4万
查看次数

PDFBox提取段落

我是pdfbox的新手,我想提取一个匹配某些特定单词的段落,我能够将整个pdf提取到文本(记事本),但我不知道如何将特定段落提取到我的java程序中.任何人都可以帮助我至少一些教程或例子.非常感谢你

pdfbox

15
推荐指数
1
解决办法
1万
查看次数

如何使用PDFbox创建固定宽度的段落?

我可以像这样插入简单的文字:

document = new PDDocument();
page = new PDPage(PDPage.PAGE_SIZE_A4);
document.addPage(page);
PDPageContentStream content = new PDPageContentStream(document, page);
content.beginText();
content.moveTextPositionByAmount (10 , 10);
content.drawString ("test text");
content.endText();
content.close();
Run Code Online (Sandbox Code Playgroud)

但是如何使用width属性创建类似于HTML的段落?

<p style="width:200px;">test text</p>
Run Code Online (Sandbox Code Playgroud)

html paragraph pdfbox

15
推荐指数
2
解决办法
2万
查看次数

使用PdfBox,如何将PDDocument的内容检索为字节数组?

我目前正在使用PdfBox作为pdf文件编辑器应用程序的驱动程序.我需要pdf文件(PDDocument)的PdfBox表示的内容作为字节数组.有谁知道如何做到这一点?

java pdfbox

15
推荐指数
1
解决办法
1万
查看次数

如何使用pdfbox(或其他开源Java库)从PDF文件中提取颜色配置文件

加载文档后:

public static void main(String[] args) throws IOException {
    PDDocument doc = PDDocument.load(new File("blah.pdf"));
Run Code Online (Sandbox Code Playgroud)

如何从PDDocument中逐页打印颜色意图?我看了文档,没有看到报道.

java pdf pdfbox

15
推荐指数
1
解决办法
1264
查看次数

pdfbox换行文字

我正在使用PDFBox,以下代码:

doc = new PDDocument();
page = new PDPage();

doc.addPage(page);
PDFont font = PDType1Font.COURIER;

pdftitle = new PDPageContentStream(doc, page);
pdftitle.beginText();
pdftitle.setFont( font, 12 );
pdftitle.moveTextPositionByAmount( 40, 740 );
pdftitle.drawString("Here I insert a lot of text");
pdftitle.endText();
pdftitle.close();
Run Code Online (Sandbox Code Playgroud)

有谁知道如何包装文本,以便它自动转到另一行?非常感谢!

java text pdfbox

14
推荐指数
2
解决办法
2万
查看次数

获取java.lang.NoClassDefFoundError:org/pdfbox/pdfparser /

下面是我正在使用的代码,我提供了一个pdf文件和一个文本文件作为命令行的输入.

import org.pdfbox.cos.COSDocument;
import org.pdfbox.pdfparser.PDFParser;
import org.pdfbox.pdmodel.PDDocument;
import org.pdfbox.pdmodel.PDDocumentInformation;
import org.pdfbox.util.PDFTextStripper;

import java.io.File;
import java.io.FileInputStream;
import java.io.PrintWriter;

public class PDFTextParser {

    PDFParser parser;
    String parsedText;
    PDFTextStripper pdfStripper;
    PDDocument pdDoc;
    COSDocument cosDoc;
    PDDocumentInformation pdDocInfo;

    // PDFTextParser Constructor 
    public PDFTextParser() {
    }

    // Extract text from PDF Document
    String pdftoText(String fileName) {

        System.out.println("Parsing text from PDF file " + fileName + "....");
        File f = new File(fileName);

        if (!f.isFile()) {
            System.out.println("File " + fileName + " does not exist.");
            return null;
        } …
Run Code Online (Sandbox Code Playgroud)

java pdfbox

14
推荐指数
1
解决办法
3万
查看次数

PDFBox:如何使用指定的打印机打印pdf?

我想使用PDFBox打印 iText创建的PDF文件.我已经使用PDDocument类及其方法print()成功地尝试了这个.您可以在此处找到文档:http://pdfbox.apache.org/apidocs/.

(我正在使用此代码:)

public static void printPDF(String fileName)
        throws IOException, PrinterException {
    PDDocument doc = PDDocument.load(fileName);
    doc.print();
}
Run Code Online (Sandbox Code Playgroud)

方法print()效果很好,但有一个问题:当我需要打印多个文件时,该方法要求我为每个文件选择打印机.

有没有办法如何只设置一次打印机?

对于打印机选择,我可以使用此代码,例如:

public static PrintService choosePrinter() {
    PrinterJob printJob = PrinterJob.getPrinterJob();
    if(printJob.printDialog()) {
        return printJob.getPrintService();          
    }
    else {
        return null;
    }
}
Run Code Online (Sandbox Code Playgroud)

提前致谢


解:

public static PrintService choosePrinter() {
    PrinterJob printJob = PrinterJob.getPrinterJob();
    if(printJob.printDialog()) {
        return printJob.getPrintService();          
    }
    else {
        return null;
    }
}

public static void printPDF(String fileName, PrintService printer)
        throws IOException, PrinterException …
Run Code Online (Sandbox Code Playgroud)

java printing pdf pdfbox

14
推荐指数
1
解决办法
3万
查看次数

标签 统计

pdfbox ×10

java ×7

pdf ×3

html ×1

paragraph ×1

printing ×1

text ×1

unit-conversion ×1

web ×1