2014-07-04 27 views
5

Bazı html dosyalarını pdf'ye dönüştürüyorum. Bu iyi çalışıyor ama benim html çapa etiketine sahip olduğunda ben belge Kodumitextsharp "belgenin sayfaları yok" hatası var, çapa etiketim var

byte[] data; 
using (var sr = new StringReader(sw.ToString())) 
{ 
    var st = new StyleSheet(); 

    GetStyleSheetForUnicodeCharacters(st); 
    using (var ms = new MemoryStream()) 
    { 
     using (var pdfDoc = new Document()) 
     {        
      using (var w = PdfWriter.GetInstance(pdfDoc, ms)) 
      { 
       pdfDoc.Open(); 
       var parsedHtmlElements = HTMLWorker.ParseToList(sr, st); 
       foreach (var htmlElement in parsedHtmlElements) 
       { 
       pdfDoc.Add(htmlElement as IElement); 
       } 
       pdfDoc.Close(); 
       data = ms.ToArray(); 
      } 
     } 
    } 
} 
+3

sahip bir html şablonu oluşturma olduğunuz durumlarda da kaynaklanır 'HTMLWorker' durduruldu. XML Worker'ı kullanmaya geçmelisiniz. "HTMLWorker", bazı HTML akışlarında başarısız olur ve bu, parsedHtmlElements içinde 0 girişle sonuçlanır. Bu "Belge sayfa yok" hatasına yol açar. Bu "düzeltilemez" durumudur. XML Worker'a yükseltmeniz gerekiyor. –

cevap

0

Zaten bir sayfa eklemek çalıştı sahip olduğu

hiçbir sayfaları

sahiptir hata alıyorum:

pdfDoc.NewPage(); 

byte[] data; 
using (var sr = new StringReader(sw.ToString())) 
{ 
    var st = new StyleSheet(); 

    GetStyleSheetForUnicodeCharacters(st); 
    using (var ms = new MemoryStream()) 
    { 
     using (var pdfDoc = new Document()) 
     {        
      using (var w = PdfWriter.GetInstance(pdfDoc, ms)) 
      { 
       pdfDoc.Open(); 
       pdfDoc.NewPage(); // add Page here 
       var parsedHtmlElements = HTMLWorker.ParseToList(sr, st); 
       foreach (var htmlElement in parsedHtmlElements) 
       { 
        pdfDoc.Add(htmlElement as IElement); 
       } 
       pdfDoc.Close(); 
       data = ms.ToArray(); 
      } 
     } 
    } 
} 

Ayrıca kullanarak boş sayfa ekleyebilirsiniz::

senin Kod aşağıdaki gibi görünmelidir düşünüyorum

pdfDoc.newPage(); 
    w.setPageEmpty(false); 

MfG Chris

+0

Sadece pdfDoc.NewPage() öğesini buldum; Ben uyguladık ama sonuç yok. Ayrıca soruşturma sonra ben benim html img etiketi var sorun ortaya çıkması bulundu. eğer iyi çalıştığını söylediysem –