【问题标题】:Writing web service to convert documents to PDF编写 Web 服务以将文档转换为 PDF
【发布时间】:2010-01-25 12:05:11
【问题描述】:

是否可以编写一个 RESTful Web 服务来接受来自客户端的文件,将这些文件转换为 PDF 文件,然后将结果发送回客户端?

有关该主题的任何信息都会有所帮助。

【问题讨论】:

  • 这将有助于告诉您要将哪种文件转换为 PDF。
  • .doc、.xls、html、.txt......

标签: java web-services pdf-generation


【解决方案1】:

x-to-PDF 转换和 PDF 生成:

休息:

  • JAX-RS - 用于 REST 的 Java API。

【讨论】:

  • 在使用 IText 从 doc 生成 pdf 时,它会在 pdf 文件的开头和结尾添加一些垃圾字符。我已将其作为一个单独的问题发布,如下所示。 stackoverflow.com/questions/2145194/…如果您能指导我解决这个问题,请查看它
【解决方案2】:

几年前,我制作了一个简单但完整的类来将 HTML 转换为 PDF。 真的很有用:

import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.io.OutputStream;

import org.w3c.dom.Document;
import org.w3c.tidy.Tidy;
import org.xhtmlrenderer.pdf.ITextRenderer;

import com.lowagie.text.DocumentException;

/**
 * @Autor Eder Baum
 */
public class Html2Pdf {

    public static void convert(String input, OutputStream out) throws DocumentException{
        convert(new ByteArrayInputStream(input.getBytes()), out);
    }

    public static void convert(InputStream input, OutputStream out) throws DocumentException{
        Tidy tidy = new Tidy();         
        Document doc = tidy.parseDOM(input, null);
        ITextRenderer renderer = new ITextRenderer();
        renderer.setDocument(doc, null);
        renderer.layout();       
        renderer.createPDF(out);                
    }   

}

用法:

OutputStream os = new FileOutputStream("C:\\hello.pdf");;
Html2Pdf.convert("<h1 style=\"color:red\">Hello PDF</h1>", os);         
os.close();

这里的所有文件:https://dl.getdropbox.com/u/15403/Html2PDF.zip

【讨论】:

    【解决方案3】:

    我从您自己的评论中了解到,您有兴趣将 Office 文件从 Java 转换为 PDF。

    也许是一个无耻的产品插件,因为我自己也开发过这个产品,但请查看web service for converting Common document formats to PDF。 Java 示例代码包含在帖子中。

    【讨论】:

      【解决方案4】:

      您可能需要提供有关您希望转换为 PDF 的文件类型的更多信息,因为这将决定转换过程的基础技术。除此之外,您只有一个文档传输系统可以在您的 Web 服务中实现,它独立于转换过程。 Docmosis 可以嵌入服务器端,它可以提供 OpenOffice 中可用的所有文档转换过滤器,还允许您填充和操作文档。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-21
        • 2011-01-22
        • 1970-01-01
        • 2016-01-22
        • 2019-11-12
        相关资源
        最近更新 更多