【问题标题】:Itextsharp Generate PDF document with Portrait and LandscapeItextsharp 生成具有纵向和横向的 PDF 文档
【发布时间】:2015-05-15 10:53:22
【问题描述】:

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

但是,我的要求是创建 PDF 文档,其中一些页面是纵向的,一些是横向的。

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

    document.SetPageSize(PageSize.A4);

而且,如果我将这一行更改为,它会在 Landscape 中创建整个文档。

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

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

请多多指教。

【问题讨论】:

标签: itextsharp


【解决方案1】:

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

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() 自己触发此操作。在示例中,第二段被添加到横向页面。

有关 Java 示例,另请参阅 iText create document with unequal page sizes

【讨论】:

  • 我尝试了你上面提到的方式,所以,它生成了横向的整个 PDF。我在这里错过了什么吗? document.SetPageSize(PageSize.A4);文档.打开(); document.SetPageSize(PageSize.A4.Rotate());文档.NewPage(); @布鲁诺
  • document.Open()后面需要添加内容(或者表示要空白页)。
猜你喜欢
  • 1970-01-01
  • 2019-08-11
  • 2012-04-19
  • 2019-03-09
  • 2011-01-23
  • 2020-07-23
  • 2010-10-11
  • 2014-05-11
  • 2019-12-02
相关资源
最近更新 更多