【问题标题】:Creatng PDF files from java code [without using iText] [closed]从java代码创建PDF文件[不使用iText] [关闭]
【发布时间】:2013-09-11 11:12:02
【问题描述】:

我想从 java 代码创建一个 PDF 文件。这就是我到目前为止所写的-

public class IOExp  {
    public static void main(String args[]) throws java.io.IOException   {
        java.io.FileOutputStream fout=new java.io.FileOutputStream("MyFile.pdf");

        byte [] arr=("Hello World.\n"+"My name is Prateek Mathur, and I am  a great programmer.\n").getBytes();
        fout.write(arr);
    }
}

MyFile.pdf 的创建没有任何问题,但在打开它时,Adobe Reader 会显示以下消息-

'Abode Reader can not open 'MyFile.pdf' because it is either not a supported file
 type or because the file has been damaged (for example, it was sent as an email
 attachment and wasn't correctly decoded.'

我已经熟悉 iText API,想知道如何手动创建 PDF 文件。

我的代码有什么问题,需要引入哪些更改才能成功创建 PDF 文件??

【问题讨论】:

  • 如果您想手动创建 PDF 文件,您需要阅读 PDF 格式规范以输出所需的标题字节以及 PDF 文件的内部结构。您可以先看看这个页面(因为规范很难阅读)planetpdf.com/developer/…
  • 为什么?为什么你不能使用已经这样做的库?如果您出于某种未说明的原因不喜欢 iText,还有其他原因。

标签: java pdf java-io fileoutputstream adobe-reader


【解决方案1】:

我认为您不能通过简单地创建扩展名为 .pdf 的文件来创建 pdf。创建有效的 pdf 需要特定格式的有效标题和内容字节。您可以使用 Apache PdfBoxItextPdf 等框架,而不是重新发明 whee。

【讨论】:

    【解决方案2】:

    PDF 文件与简单的纯文本文件完全不同。您创建的是纯文本文件。将扩展名更改为.txt,当使用纯文本编辑器打开时,您将看到文字。使用 PDFBox 之类的库。

    【讨论】:

      猜你喜欢
      • 2016-04-04
      • 1970-01-01
      • 1970-01-01
      • 2014-12-26
      • 2012-01-29
      • 1970-01-01
      • 1970-01-01
      • 2013-12-28
      • 1970-01-01
      相关资源
      最近更新 更多