如何找出当前页面上的光标位置?

2024-04-13

我向页面添加了一堆内容,例如document.add(p);,然后我使用文档添加一个填充两列的表格here http://itextpdf.com/examples/iia.php?id=91。在这个过程中,我使用:

column.setSimpleColumn(
   x[count][0], document.bottom(),
   x[count][1], document.top() - height - 10);

其中高度设置为 0。这会将表格放置在从文档顶部开始的列中。当然,我想做的是将列直接添加到写入文档的最后一个内容的下方(例如document.add(p);)。如果我知道页面上到目前为止消耗的高度,我可以手动输入正确的高度height价值和一切工作正常。

问题是,文档中写入的内容取决于很多条件,所以我想简单地执行一个命令来告诉我到目前为止文档中(当前页面)消耗了多少高度,这样我就可以放height适当地。有没有办法在 iText 中执行此操作(这样我就不需要跟踪添加到页面中的每个单独元素的高度)?


可以通过三种方式向 PDF 添加内容:

使用 document.add();

在这种情况下,iText 根据页面大小和您定义的边距来决定添加内容的位置。

有一个很古老的方法叫做getVerticalPosition()这需要一个boolean作为参数。我并不为这种方法感到自豪,因为它是getter方法不仅会在使用一系列后为您提供页面上的 Y 位置document.add()操作时,它还可以更改当前的 Y 位置(这不是getter方法应该做)。

如果你通过了false作为参数,它会给你当前的 Y,这可能是最后一个基线的位置Chunk你已经添加了。

如果你通过了true作为参数,该方法将首先添加换行符,并为您提供要添加的“下”文本行的基线位置。

使用列文本

ColumnText 是一个可以添加的对象Elements。然后,您可以使用绝对坐标定义列并调用go()方法。这go()方法将渲染内容,您可以使用返回值来查看内容是否适合矩形。您可以使用getYLine()方法查找最后添加的内容的 Y 坐标。

使用 writeSelectedRows()

此方法仅在您使用时才有效PdfPTable对象。 这writeSelectedRows()方法可以将行和列的选择添加到从特定位置开始的页面x and y协调。 它返回一个float为您提供添加的最后一行的底部边框的 Y 位置的值。 如果您想在添加表格之前知道表格需要多少垂直空间writeSelectedRows(), 您需要首先计算要添加的行的高度。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何找出当前页面上的光标位置? 的相关文章

  • iText 中的 PdfPageEventHelper

    我正在创建一个 pdf 其中每个 pdf 页面的标题将根据当前页码进行自定义 例如 在第一页中 标题是 第一页 在第二页中 标题是 第二页 依此类推 我们现在要做的是将标题添加到 PdfPTable 中 然后我们还将许多其他内容添加到 Pd
  • 在 pdf 中添加撤销详细信息,同时签名

    我已经使用 PC 上附加的数字令牌对 pdf 进行了数字签名 使用库 itext Sharp 附加相同的内容 当我在 adobe reader 中打开相同内容时 它显示无法执行撤销 当我看到详细信息时 它显示颁发者证书之一被撤销未检查错误
  • iText7 将 HTML 转换为 PDF“System.NullReferenceException”。

    旧标题 iTextSharp 将 HTML 转换为 PDF 该文档没有页面 我正在使用 iTextSharp 和 xmlworker 将 html 从视图转换为 ASP NET Core 2 1 中的 PDF 我尝试了在网上找到的许多代码片
  • 如何使用 ITextSharp 将图像添加到 PDF?

    我想使用 iTextSharp 5 0 5 但没找到这个版本的教程 我下载了一些以前版本的教程 但出现错误 我只想通过 iTextSharp 将一些图像拼接成 pdf 文件 谁能给我代码吗 编辑 经过一段时间的研究 我终于弄清楚如何添加图像
  • MVCrazorToPdf (iTextSharp) 使用自定义字体

    我正在尝试使用 nuget 包 MVCRazorToPdf 将自定义字体添加到我的 pdf 输出中 但我在如何执行此操作时遇到了麻烦 因为 iTextSharp 的文档不是很好 而且所有内容似乎都已过时 我当前用于创建pdf的代码是 ret
  • 如何保存 Extjs4 图表图像以在 pdf 报告中打印?

    我的 extjs4application 仪表板中有几个图表 我想使用这些图表的图像生成 pdf 报告 为此我使用 iTextSharp 有没有办法从图表中获取图像 以便将它们包含在我的报告中 对我来说理想的是像这样与 itextsharp
  • iTextSharp:“文档未打开”错误 - 当它实际上是时

    我有这个代码 private static byte ConvertPdfDocument Document document PdfPTable headerTable PdfPTable affidavitsTable byte b u
  • 使用 iTExtsharp 将表格添加到现有 PDF 中

    我有一个 PDF 其中有一个表格是动态的 我想在现有 PDF 中动态地将下面的另一个表格添加到该表格中 有什么方法可以在现有 PDF 中的特定位置添加表格 现有表格 不在文档末尾 已完成 然后我想添加我的表格 我该如何添加 请给我推荐一些好
  • 如何使用itextsharp从表结构PDF中读取数据?

    我在从 pdf 文件读取某些数据时遇到问题 我的文件是结构化的 它包含表格和纯文本 标准解析器从同一行的不同列读取数据 例如 Some Table Header Data Col1a Data Col2a Data Col3a Data C
  • 在Android中压缩带有大图像的pdf

    这个问题通过java压缩带有大图像的pdf https stackoverflow com questions 20614350 compress pdf with large images via java给出了在 Java 中使用 iT
  • itextsharp 不关闭文件

    我有一些用于 itextsharp 合并 2 个 pdf 文件的代码 在网上某处找到的 合并工作正常 但似乎源文件在全部完成后仍在使用 我想做的是删除我已经合并的第一个文件 通过文件上传上传 并仅保留合并的文件 肯定是执行合并的代码导致文件
  • pdfptable的不可见边框

    我正在使用 iText 库在 Java 中生成 pdf 文件 我正在 pdfptable 中写入数据 如何使表格边框不可见 PdfPTable 的边框元素由添加到表中的 PdfPCell 定义 每个单元格都有自己的样式 格式 这是 API
  • iText 将组件摆动到多个页面

    我有一个 jpanel 它有一个相当大的高度 我想将其绘制成 pdf 大约 2 3 页 有时甚至更多 我的问题是 它不会传递到下一页 它只会尝试将所有内容插入第一页 当页面结束时 它不会传递到下一页 我搜索了一下 尝试了我能想到的一切 但一
  • 使用 iTextSharp 和 PDFStamper 在 PDF 中使用不同的字体

    我正在使用 iTextSharp 加载现有 PDF 并使用 PdfStamper 添加文本 我想要完全控制文本 这意味着我想要能够控制字体 仅限 TrueType 字体大小和坐标 现在 我使用 ShowTextAligned 将文本添加到某
  • iTextSharp 居中对齐文档对象内的对象

    是否有一种快速而简单的方法可以将文档对象中的对象居中对齐 Without执行任何计算逻辑 即 获取页面宽度 获取内容宽度 除以二等 我在 Document 对象内的 Paragraph 对象中有一个 PdfPTable 对象 我想将段落对象
  • iTextSharp - 如何将 PDFPRow 添加到 PDFPTable?

    我想将 PDFPCells 数组添加到 PDFPRow 然后将 PDFPRow 添加到 PDFPTable 但我似乎无法在 PDFPTable 中找到为此的方法 然而有一个 PDFPTable AddCell 有任何想法吗 查看PdfPTa
  • 如何将 BufferedImage 转换/转换为图像?

    我想转换一个BufferedImage to an java awt Image 我的源图像是 tif 所以我使用 JAI 将其读取为PlanarImage PlanarImage 源 JAI create 文件加载 IMG DIR tag
  • 无法使用 C# 在 asp.net 中使用 iTextSharp API 将 HTML 标记导出为 PDF?

    我有一个HTML标记有HTML Table and Images在里面 我在用iTextSharp API来转换HTML markup to PDF 但是 不幸的是iTextSharp无法导出HTML包含 PDF 图像和表格的标记 错误 找
  • iText7:如何获取段落的实际宽度

    在添加到文档之前 我需要知道段落的宽度 以磅为单位 我在这里搜索并找到了 Alexey 关于段落高度的答案 所以我用宽度做了它 但它不起作用 无论段落有多长 始终返回矩形的宽度 我尝试了这段代码 private float getRealP
  • 如何向页面添加 HTML 页眉和页脚?

    如何使用 itext 从 html 源添加标题到 pdf 目前 我们已经扩展了 PdfPageEventHelper 并重写了这些方法 工作正常 但当我到达 2 个以上页面时 它会抛出 RuntimeWorkerException Over

随机推荐