编写Web服务以将文档转换为PDF

时间:2010-01-25 12:05:11

标签: java web-services pdf-generation

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

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

4 个答案:

答案 0 :(得分:5)

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

REST:

答案 1 :(得分: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

答案 2 :(得分:1)

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

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

答案 3 :(得分:0)

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