Itextsharp使用纵向和横向生成PDF文档

时间:2015-05-15 10:53:23

标签: itextsharp

我正在使用iTextSharp生成PDF文档。目前,HTML内容已成功转换为PDF文档。默认页面方向为纵向。

但是,我的要求是创建PDF文档,在Portrait中有一些页面,在Landscape中有一些页面。

以下行生成纵向方向的PDF文档

    document.SetPageSize(PageSize.A4);

并且,如果我将此行更改为在横向创建整个文档。

        document.SetPageSize(PageSize.A4.Rotate());

如何生成混合纵向和横向的PDF?

请告知。

1 个答案:

答案 0 :(得分:4)

您已拥有所需的一切。您使用的方法是正确的。您可以多次使用它,只需要知道在创建新页面之前需要更改页面大小的事实:

Document document = new Document();
PdfWriter.GetInstance(document, new System.IO.FileStream(filename, System.IO.FileMode.Create));
document.SetPageSize(PageSize.A4);
document.Open();
document.Add(new Paragraph("Hi in portrait"));
document.SetPageSize(PageSize.A4.Rotate());
document.NewPage();
document.Add(new Paragraph("Hi in landscape"));
document.Close();

如您所见,我们在文档Open()之前将页面大小设置为A4。我们在此页面中添加了一些内容,然后我们决定将 next 页面的页面大小设置为横向A4。这仅在新页面启动后生效。当您添加不适合当前页面的内容时,这可以由iText自动触发。或者您可以通过调用NewPage()来自行触发。在该示例中,第二段被添加到横向页面中。

另请参阅iText create document with unequal page sizes以获取Java示例。