当前位置: 首页 > 知识库问答 >
问题:

如何将页面大小设置为带有横向方向的信封大小?

宋子辰
2023-03-14

我在创建.pdf文件时遇到问题,页面设置为信封,横向格式。

这是我的代码,用于将asp页面转换为Itext Sharp中的pdf。

Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment;filename=Receipt.pdf");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
StringWriter sw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
bind_Data();
this.Page.RenderControl(hw);

StringReader sr = new StringReader(sw.ToString());
Document pdfDoc = new Document(PageSize.A4.Rotate(), 10f, 10f, 100f, 0f);
//here i need to set Pagesize as Envelope.
HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
pdfDoc.Open();
htmlparser.Parse(sr);
pdfDoc.Close();
Response.Write(pdfDoc);
Response.End();

我谷歌了一下,但找不到信封size.How我要动态设置页面大小为信封、风景。

提前致谢

共有1个答案

乜建柏
2023-03-14

您正在使用以下行创建横向格式的A4文档:

Document pdfDoc = new Document(PageSize.A4.Rotate(), 10f, 10f, 100f, 0f);

如果您想创建信封格式的文档,您不应该创建A4页面,而是应该这样做:

Document pdfDoc = new Document(envelope, 10f, 10f, 100f, 0f);

在此行中,信封矩形类型的对象。

没有信封大小这样的东西。有不同的信封尺寸可供选择:http://www.paper-papers.com/envelope-size-chart.html

例如,如果要创建一个大小为6-1 / 4的商业信封的页面,则需要创建一个尺寸为6 x 3.5英寸的矩形。PDF 中的测量系统不使用英寸,而是使用用户单位。默认情况下,1 个用户单位 = 1 个点,1 英寸 = 72 个点。

因此,您应该这样定义< code>envelope变量:

Rectangle envelope = new Rectangle(432, 252);

因为:

6 inch x 72 points = 432 points (the width)
3.5 inch x 72 points = 252 points (the height)

如果您想要不同的信封类型,您必须计算该信封格式的尺寸。

 类似资料:
  • 我正在使用iText7和convertToPdf()方法将html转换为pdf。PDF生成正确,但横向模式不工作。 有人能告诉我如何获得风景模式吗?

  • 问题内容: 我有一个PDFReader,其中包含横向模式的某些页面和纵向模式的其他页面。 我需要区分它们以进行一些处理…但是,如果我调用getOrientation或getPageSize,则该值始终是相同的(pagesize为595,方向为0)。 为什么横向页面的值没有不同? 我试图找到其他方法来检索页面宽度/方向,但没有任何效果。 这是我的代码: 谢谢 ! 问题答案: 解决: 用 代替

  • 问题内容: 我有一个PDFReader,其中包含横向模式的某些页面和纵向模式的其他页面。 我需要区分它们以进行一些处理…但是,如果我调用getOrientation或getPageSize,则该值始终是相同的(pagesize为595,方向为0)。 为什么横向页面的值没有不同? 我试图找到其他方法来检索页面宽度/方向,但没有任何效果。 这是我的代码: 谢谢 ! 问题答案: 解决: 用 代替

  • setPrintedLandscape(): self 实例 $config = ['path' => './tests']; $excel = new \Vtiful\Kernel\Excel($config); ​ $excel->fileName('printed_landscape.xlsx', 'sheet1') ->setPrintedLandscape() // 设置打印

  • 有人知道如何改变页面大小(从字母到A4)为(docx)吗? 我找不到任何像XSSFDocument(xlsx)中那样的打印设置。 谢谢你的帮助。

  • Adobe Illustrator 通常使用所选打印机的 PPD 文件定义的默认页面大小。但可以把介质尺寸改为 PPD 文件中所列的任一尺寸,并且可指定纵向(垂直)还是横向(水平)。可指定的最大页面大小取决于照排机的最大可成像面积。 注意:在“打印”对话框中更改页面大小和方向,只能用于打印目的。若要更改画板的页面大小或方向,请使用“画板选项”对话框或控制面板中的“画板”选项。(请参阅编辑画板。)