javascript - 使用 java 将 Adobe 注释转换为编辑
问题描述
首先,不幸的是我不是编码员。所以我怀疑其中一些可能对你们所有人都很明显。我为律师团队提供法律支持。他们经常需要编辑 PDF,他们通常会突出显示需要编辑的内容,我使用 Adobe 的编辑工具。我有一段代码可以将突出显示转换为编辑,但它只适用于 OCR 文本。我想做的是将矩形注释转换为编辑。
这是我到目前为止所拥有的:
var annots = this.getAnnots();
var rct = getAnnots(this.pageNum)[0].rect;
var left = rct[0];
var right = rct[2];
var top = rct[3];
var bot = rct[1];
var qd = [ [left, top, right, top, left, bot, right, bot] ];
for (var i=annots.length-1; i>=0; i--) {
if (annots[i].type == "Square") {
this.addAnnot( {
page: annots[i].page,
type: "Redact",
quads: qd,
overlayText: "REDACTED",
alignment: true,
fillColor: color.black,
textColor: color.white,
textSize: 0,
});
}
}
this.applyRedactions ({
bKeepMarks: false,
bShowConfirmation: false,
});
它适用于第一个矩形注释,但不适用于每个矩形注释。我知道我需要添加这部分:
var rct = getAnnots(this.pageNum)[0].rect;
var left = rct[0];
var right = rct[2];
var top = rct[3];
var bot = rct[1];
var qd = [ [left, top, right, top, left, bot, right, bot] ];
进入 For 语句,但我不知道如何。任何帮助,将不胜感激
解决方案
好的,感谢 Bernd(来自 adobe 论坛)我已经设法让它工作。因此,对于其他可能觉得这很有帮助的人,这里是代码
var annots = this.getAnnots();
for (var i=annots.length-1; i>=0; i--) {
if (annots[i].type == "Square") {
var rct = annots[i].rect;
var left = rct[0];
var right = rct[2];
var top = rct[3];
var bot = rct[1];
var qd = [ [left, top, right, top, left, bot, right, bot] ];
this.addAnnot( {
page: annots[i].page,
type: "Redact",
quads: qd,
overlayText: "REDACTED", //THIS IS THE REDACTION TEXT
alignment: 1, // "0" = LEFT, "1" = CENTRE, "2" = RIGHT
fillColor: color.black, //THIS CHANGES THE FILL COLOUR
textColor: color.white, //THIS CHANGES THE FONT COLOUR
textSize: 0, //FONT SIZE, '0' will adjust the size to fit each box, otherwise you can use a specific font size
});
}
}
this.applyRedactions ({
bKeepMarks: false,
bShowConfirmation: false,
});
推荐阅读
- javascript - 如何将角度材料步进形式的数据发布到 Node.Js 后端
- xml - 如何评估 xsl:if 的数字?
- python - 熊猫数据框。将元组值扩展为具有多索引的列
- javascript - 如何遍历字符串并检查是否有不匹配的字母
- python - 创建一个 GUI 来使用 Tkinter 和 OpenCV 扫描 QR 码?
- python - Python 自省:mro() 方法在哪里?
- c# - 按钮未将变量传递给控制器
- javascript - 如何删除重复项并计算两个数组之间的差异?
- .net - Visual Studio 2017 中的 Nuget 包错误
- sql-server - 将列值分配给 mssql 中的变量