【发布时间】:2023-01-17 20:53:00
【问题描述】:
我有这段代码,可以将旋转的文本放在 pdf 上我想要的位置:
Public Sub edit_existing_pdf(inpdf As String, outpdf As String)
Dim pdf As New PdfDocument(New PdfReader(inpdf), New PdfWriter(outpdf))
Dim document As New Document(pdf)
document.ShowTextAligned("This is some test text", 400, 750, TextAlignment.CENTER, VerticalAlignment.MIDDLE, 0.5F * CSng(Math.PI))
document.Close()
End Sub
它在“空白”pdf 上运行良好,但在使用现有内容标记 pdf 时不会显示。
我怎样才能将它设置为“超过”而不是“低于”?
【问题讨论】:
-
“我怎样才能将它设置为‘上方’而不是‘下方’?”- 标记“结束”是默认设置,因此您很可能会遇到其他问题。可能是因为您提供了绝对坐标 (
400, 750),因为每个现有页面可能都有自己的坐标系。也许这是其他问题。您能否分享一个代表性示例 PDF 以允许重现该问题? -
谢谢你的回复。我试图标记的 pdf 是机密的,所以很遗憾我不能分享它,但我会尝试在另一个“填充的”pdf 上复制这个问题并上传它。协调系统是一个我没想到的好主意——我会尝试一些不同的值,看看我的文本是否开始出现。也许它现在正在偏离一边。
-
嗨 - 你对坐标的看法是正确的,但文字没有离开页面,它被标记到最后一页(第 3 页,共 3 页),我没有注意到这一点,因为我预计它会在第 1 页上 - 我的愚蠢的错误。所以我的下一个问题是:如何控制在哪个页面上标记文本?
-
如果你想标记特定页面,而不是最后一页,还有另一个
document.ShowTextAligned的重载,它在坐标参数之后有一个额外的page参数。请记住,页码在 iText 中以 1 开头,而不是 0。 -
谢谢 - 看起来当你添加页码时,它需要一个段落而不是一个字符串?