首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >当我有锚定标记时,itextsharp "the document has no pages“错误

当我有锚定标记时,itextsharp "the document has no pages“错误
EN

Stack Overflow用户
提问于 2014-07-04 20:18:17
回答 3查看 17K关注 0票数 5

我正在转换一些html到pdf。它工作得很好,但是当我的html中有锚标签时,我得到了错误,文档没有页面。

我的代码是

代码语言:javascript
复制
 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();
           }
       }
    }
 }
EN

回答 3

Stack Overflow用户

发布于 2015-03-12 07:27:34

问题可能是无效的html。检查的一种方法是通过W3C Markup Validation Service之类的验证器运行您的html源代码。

票数 1
EN

Stack Overflow用户

发布于 2014-07-04 20:34:48

您是否已尝试使用以下内容添加页面:

代码语言:javascript
复制
pdfDoc.NewPage();

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

代码语言:javascript
复制
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();
            }
        }
    }
}

您还可以使用以下命令添加空白页面:

代码语言:javascript
复制
    pdfDoc.newPage();
    w.setPageEmpty(false);

MfG克里斯

票数 0
EN

Stack Overflow用户

发布于 2019-02-19 04:10:02

需要检查任何html标签是否不匹配。示例/td>,这种类型的错误在error之上引发。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24574154

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档