我正在转换一些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();
}
}
}
}
发布于 2015-03-12 07:27:34
问题可能是无效的html。检查的一种方法是通过W3C Markup Validation Service之类的验证器运行您的html源代码。
发布于 2014-07-04 20:34:48
您是否已尝试使用以下内容添加页面:
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();
}
}
}
}
您还可以使用以下命令添加空白页面:
pdfDoc.newPage();
w.setPageEmpty(false);
MfG克里斯
发布于 2019-02-19 04:10:02
需要检查任何html标签是否不匹配。示例/td>,这种类型的错误在error之上引发。
https://stackoverflow.com/questions/24574154
复制相似问题