[英]itextsharp “the document has no pages” error when i have anchor tag
我正在將一些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();
}
}
}
}
問題可能是無效的HTML。 檢查的一種方法是通過驗證器運行您的html源,例如W3C標記驗證服務 。
你有沒有嘗試添加一個頁面:
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克里斯
需要檢查是否有任何html標記不匹配。 示例/ td>,這種錯誤引發錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.