当我有锚标记时,itextsharp"文档没有页面"错误

Kam*_*hid 5 c# asp.net itextsharp

我正在将一些html转换为pdf.它工作正常但是当我在我的html中有锚标记时我得到错误文档没有页面

我的代码是

 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();
           }
       }
    }
 }
Run Code Online (Sandbox Code Playgroud)

小智 0

您是否已尝试添加页面:

pdfDoc.NewPage();
Run Code Online (Sandbox Code Playgroud)

我认为你的代码应该是这样的:

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();
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

您还可以使用以下方法添加空白页面:

    pdfDoc.newPage();
    w.setPageEmpty(false);
Run Code Online (Sandbox Code Playgroud)

制造商克里斯