XMLWorkerHelper将长html转换为pdf仅产生第一页

问题描述 投票:2回答:1

我正在使用以下代码来转换较长的html,并希望pdf根据源html的长度来跨越多个A4页面。但是它只会为适合A4页面的html文本的第一部分生成第一个pdf页面。使用itextsharp 5.4.0

源HTML就是这样

<html><body><table><tr><td>
<p> Para 1 -lorem ipsum ..... </p>
......
<p> Para 100 - loren ipsum .... </p>
</td></tr></table></body></html>

C#代码为

Document pdfDocument = new Document(PageSize.A4, 70, 55, 40, 25);
string sFileName = "output.pdf";
PdfWriter wri = PdfWriter.GetInstance(pdfDocument, new FileStream(sFilePath, FileMode.Create));
PdfWriter.GetInstance(pdfDocument, HttpContext.Current.Response.OutputStream);
pdfDocument.Open();
StreamReader fw = new StreamReader("D:\\sample\\avfs.html");
string htmlText = fw.ReadToEnd();
fw.Close();
XMLWorkerHelper.GetInstance().ParseXHtml(wri, pdfDocument, new StringReader(htmlText));
pdfDocument.Close();
itextsharp
1个回答
0
投票

使用

Document pdfDocument = new Document(**PageSize.LETTER**, 70, 55, 40, 25);

代替

Document pdfDocument = new Document(**PageSize.A4**, 70, 55, 40, 25);
© www.soinside.com 2019 - 2024. All rights reserved.