[英]itextsharp “the document has no pages” error when i have anchor tag
I am converting some html to pdf. 我正在将一些html转换为pdf。 It is working fine but when i have anchor tag in my html i get error the document has no pages
它工作正常但是当我在我的html中有锚标记时我得到错误文档没有页面
My code is 我的代码是
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();
}
}
}
}
The problem may be invalid html. 问题可能是无效的HTML。 One way to check is to run your html source through a validator such W3C Markup Validation Service .
检查的一种方法是通过验证器运行您的html源,例如W3C标记验证服务 。
have you already tried to add a Page with: 你有没有尝试添加一个页面:
pdfDoc.NewPage();
I think your Code should look like this: 我认为您的代码应如下所示:
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();
}
}
}
}
You can also add a blank Page by using: 您还可以使用以下方法添加空白页面:
pdfDoc.newPage();
w.setPageEmpty(false);
MfG chris MfG克里斯
Need to check that any html tags are mismatched. 需要检查是否有任何html标记不匹配。 Example /td>, this types of mistake raised above error.
示例/ td>,这种错误引发错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.