2013-10-31 27 views
9

HTML içeriğinden PDF oluşturmaya çalışıyorum. Bu byte[] alıp bir dosyaya kaydetmek zamanPDFBox kullanarak HTML'den nasıl PDF dosyası oluşturulur?

public byte[] generatePdf(final XhtmlPDFGenerationRequest request) { 

    ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
    PDDocument document = new PDDocument(); 
    InputStream stream = new ByteArrayInputStream(request.getContent() 
      .getBytes()); 

    PDStream pdstream = new PDStream(document, stream); 
    document.save(baos); 
    document.close(); 
    return this.toByteArray(baos); 

} 

, dosya boştur. Ben http://pdfbox.apache.org/apidocs/

public PDStream(PDDocument doc, 
       InputStream str) 
     throws IOException 

itibaren belgenin

içine giriş akışı gömmek için PDStream kullanıyorum girdi akışından tüm verileri okur ve belgeye gömer, bu InputStream kapanacak.

cevap

12

PDF oluşturucuya bir HTML arıyordum. IText kullanıyorduk. Apache PDFBox ile aynı şeyi yapmak istiyordum. Ancak, bu yapılamaz gibi görünüyor.

Apache FOP'u kullanabilir veya iText kullanmaya devam edebilirim. Java Render XML Document as PDF

PDF kutusunu kullanarak birleştirme için bir çözüm arıyorsanız, işte Merge pdf files using Apapche pdf box

+3

Ben iText alternatif arıyorum olduğunu: Herkes ilgi ise

İşte iText çözümdür Kapalı kaynak projeleri ile lisanslama kuralları iyi çalışmıyor – Hoffmann

+0

@Hoffman Yukarıdaki linkte apache pdf çözümü sizin için çalışmadı mı? – vsingh

+1

apache pdfbox, HTML'den PDF'ye dönüşümünü desteklemiyor. Son zamanlarda java pdf kütüphaneleri ile ilgili bir tartışma vardı, ben LGPL olan iText v2'yi kullanan Flying Saucer'ı öğrendim, henüz test etmedim, ama ileride başvurmak üzere buradaki tartışmayı burada bırakacağım: http: // ask .slashdot.org/comments.pl? sid = 5505091 ve cID = 47625223 – Hoffmann

İlgili konular