问题标签 [pdfstamper]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
376 浏览

java - Java PDF Stamper writing below checkbox (text being covered by checkbox)

Im trying to write to an existing pdf using the java pdf stamper, but for some reason there is a certain checkbox in the pdf that the text appears to be drawn under.

Code for Reading pdf:

Code for Drawing text:

0 投票
1 回答
1007 浏览

itext - 使用 libre office 创建的 Acrofields 不可填充代码,除非我编辑过一次 pdf

我正在 Libre 办公室中创建表单控件并将文档导出为 pdf。

尝试使用 itextsharp(换句话说,c# 程序)设置控件(文本框)的文本只会清空该框。

但是,如果我使用 acrobat reader 打开 pdf 并编辑框中的文本,则将文档保存为可以写入该文本框的 pdf。

为什么我必须这样做?

错误再现

单击自由办公室中的工具栏图标。

工具栏图标

在文档中拖出一个正方形。

文件中的框

双击该框,将其命名为 currenttime。 盒子设置

导出为pdf:

在此处输入图像描述

c# 代码

编辑

这是pdf的文本转储。我用“一些二进制数据”改变了一些二进制数据的位置。文本框已被赋予默认值“123”。

使用 libre office 创建后的 pdf 版本为 1.4

在 acrobat reader 中编辑后(我将文本框的默认值从“123”更改为“12”),它将保存在 1.6 版本中,并插入一个有趣的 x:xmpmeta 信息。文档中还插入了很多空行。此时,它可以通过编程方式进行编辑。

编辑2

我把文件放在我的保管箱上。

https://www.dropbox.com/sh/5btzl9qqzua18q1/AACIjCrvNZ5cunuLj9sze-l3a?dl=0

0 投票
0 回答
496 浏览

java - 如何使用 iText 在现有 pdf 文件的末尾添加图像

我有一个现有的 pdf 文件,我正在使用 pdfreader 阅读并使用 pdfstamper 将一些图像和文本添加到临时 pdf 文件中。我面临的问题是图像被添加到 contentbyte 但其中一些不可见,其中一些相互重叠,因为我的场景是在某个点之后将屏幕截图添加到这个 pdf 文件中(在每个失败的步骤在运行我的 selenium webdriver 时)。我尝试设置不同的位置,但没有一个完美的工作。我需要优先解决这个问题。请建议每次需要添加图像时我应该怎么做才能在现有 pdf 的底部添加图像。

谢谢, 梅纳尔

0 投票
0 回答
308 浏览

android - 文本 5.5.8。Pdfreader 和 Pdfstamper 不起作用

我正在尝试通过 android 应用程序填充现有 pdf 的 acrofields。当我运行此代码时,应用程序不会创建新文件,或者至少我没有看到它。我在哪里犯错?我将现有的 pdf 文件放在应用程序的 res/raw 文件夹中

0 投票
1 回答
1507 浏览

java - 使用 ByteArrayOutputStream 时,Itext PdfStamper getOverContent 返回 null

我正在处理一个pdf文件。我需要在现有的 pdf 文件上添加水印。这就是为什么,我写了下面的代码。当我使用 FileOutputStream 时它工作得很好,但我需要使用 ByteArrayOutputStream 因为我的数据来自数据库,我需要将它保存为字节数组。问题从这里开始。当我使用 PdfStamper 的 ByteArrayOutputStream getOvercontent 方法时返回 null。我该如何处理?提前致谢。

旧版本的代码是这样的。

0 投票
0 回答
250 浏览

java - 使用java加密pdf时用户密码错误

我正在尝试使用以下代码简单地加密 pdf 文件

在调用此方法时,我得到异常bad user password

任何人都可以建议这里发生了什么错误

0 投票
1 回答
260 浏览

pdf - /EndPage 计数永远不会增加

我正在尝试将一段文本添加到带有 ghostscript 的 2 页 pdf 中。查看类似的问题(https://stackoverflow.com/a/9783516/1581629https://stackoverflow.com/a/12596669/1581629 https://stackoverflow.com/a/18774237/1581629)我试图使用 /EndPage 我期望在堆栈上获得一个“页面计数器”并使用它来选择要修改的页面。

但是,当 /EndPage(Postscript 语言参考的第 441 页)堆栈中的“原因”为 0 时,“计数器”也始终为 0。

MWE 可能是(使用来自 git repo 的 gs 9.23):

gs -o out.pdf -sDEVICE=pdfwrite a.ps in.pdf

其中 a.ps 是:

in.pdf 是用 pdflatex (texlive 2017) 制作的:

谁能指出我在这里缺少的东西?

0 投票
2 回答
848 浏览

itext - 生成外观=真;System.NullReferenceException

使用 iTextSharp 获得了一些遗留代码。

无论如何,所有文档都将 GenerateAppearances 设置为 true。现在它触发了一个异常。

取出基本代码并将其放入控制台应用程序中,同样的,使用网络相同的通用 PDF ( http://www.pdf995.com/samples/pdf.pdf )。

这是使用版本 5.5.12

itextsharp.dll 中出现“System.NullReferenceException”类型的未处理异常

附加信息:对象引用未设置为对象的实例。

谢谢

0 投票
0 回答
60 浏览

itext - 编辑 pdf 文件的来源,它损坏了 pdf(无法打开)

从文本编辑器打开一个 PDF 文件,我想在下面修改这个对象的内容:

759 0 obj ($Revision:: 1.0 $) endobj 774 0 obj

($Revision:: 1.0 $)($Revision::20171219200322$),即对象的总大小增加了 2 个字符。

但是,此更改会破坏 PDF。

这是怎么发生的?我猜PDF中还有其他地方依赖于obj的大小。

有人可以解释一下吗?

非常感激

===================更新==================

感谢以下评论。

我试图在整个 pdf 文件中查找外部参照表,但只找到了如下内容:

... endobj startxref 116666 %%EOF

在文件的底部。那里没有实际的桌子。任何想法?

谢谢您的帮助。

===================更新 22/12/2017 ==================

现在我能够找到需要使用 iText 修改的 AcroFields。但是,我不想使用AcroFields.setField(String name, String value)方法来设置字段值,我想修改PdfString该字段所引用的对象的值。我可以通过调用PdfReader.getPdfObject(item.getMerged(0).get(PdfName.DV))它来获取对象,它给了我一个 PdfString 对象,但我找不到改变它的值的方法。任何想法?

0 投票
1 回答
31 浏览

c# - 如何将一个pdf保存在不同的地方

我使用创建一个pdf文件pdfstamper并且我想将我的pdf保存在两个不同的文件中(更改路径pdfStamper)我需要创建一个新pdfStamper文件还是有办法在多个地方保存同一个文件

// 这是我的代码