我使用以下代码转换长html并希望pdf跨越多个A4页面,具体取决于源html的长度。但它只生成适合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();
答案 0 :(得分:0)
使用强>
Document pdfDocument = new Document(**PageSize.LETTER**, 70, 55, 40, 25);
而不是
Document pdfDocument = new Document(**PageSize.A4**, 70, 55, 40, 25);