Adobe Acrobatには、PDFファイルを編集する機能があります(つまり、単に情報の上にブラックボックスを描画するのではなく、実際に情報を削除します)。この機能をプログラムで使用したいと思います。GUIを使用して編集するには、[編集マーク]ツールを選択し、編集するテキストの上に描画してから、[編集を適用]を選択します。
AppleScriptまたはその他の方法でこれをプログラムで行う方法はありますか?
編集するテキストの(X、y)位置を知っています。
ありがとう!
Adobe Acrobatには、PDFファイルを編集する機能があります(つまり、単に情報の上にブラックボックスを描画するのではなく、実際に情報を削除します)。この機能をプログラムで使用したいと思います。GUIを使用して編集するには、[編集マーク]ツールを選択し、編集するテキストの上に描画してから、[編集を適用]を選択します。
AppleScriptまたはその他の方法でこれをプログラムで行う方法はありますか?
編集するテキストの(X、y)位置を知っています。
ありがとう!
PDFを適切に編集するには、コンテンツストリームを変更する必要があります。これは非常に難しいです。
削除したいテキストを描画するコンテンツストリームの部分を見つけることができれば、そこにいる途中です。
残りの半分は、ドキュメントの残りの部分を変更しないようにコンテンツストリームを変更する方法を理解しています。次のテキスト描画演算子の前に「tm」コマンド(次のテキストを絶対的に配置するテキストマトリックスを設定)を実行すると、簡単です。そうでない場合は...置換するテキストの正確な幅を計算し(いくつかの異なるPDFライブラリでこれを実行できます)、描画コマンドを変更して、その多くをスキップする必要があります。
例えば:
BT / F1 10 Tf 1 0 0 1 30 720 Tm (ここにいくつかのテキストがあります、そしてあなたはあそこの大文字の「編集」だけを編集したいです)Tj * (このテキストは前の行を基準にして配置されています)Tj 1 0 0 1 30 650 Tm (このテキストは絶対に配置され、30、650から始まります)Tj
したがって、最初の(...)Tj
行を(Here's some text, and you only want to)Tj
、、、N 0 Td
および(that upper case "redact" over there)Tj
...に分割する必要があります。ここで、「N」は、次のテキスト描画操作の位置を適切に調整して、正確に同じスポットに到達するようにします。したがって、フォントリソース/ F1(結果が何であれ)を使用して、10ポイントのサイズの「REDACT」の正確な幅を知る必要があります。
あなたの人生をよりエキサイティングにするために、あなたはカーニングされたテキストについても心配しなければなりません。したがって、テキストに沿って少し間隔を調整することができます。
(これは、PDF仕様で描画された最初のテキストから取得されます)
[(Adobe Sys)5(t)1(ems Inc)5(orporated)5(20)5(08 \ 226 All rights)5(reser)-9(ved)] TJ
「Incorporated」を適切に編集するには、2つの文字列に分割されていることを確認し、それに続く文字列の位置を調整して、まったく同じ場所に配置する必要があります。
<DEADBEEF>
また、文字列は。ではなく16進値にすることができます(plain old ascii)
。
アイデアが浮かびますか?そして、私はここですべての可能性をカバーしていません、ただ最も一般的なものだけです。
私が言ったように:これは非常に難しいです。
Appligent Redax (接続なし)と呼ばれるacrobatプラグインがあり、注釈を描画して(または、テンプレートや正規表現などを介して生成し)、コードを実行して編集を処理できます。プログラムで注釈を作成し、プラグインをアクティブ化することも可能です。ドキュメント内のJSはメニュー項目を実行できます。
これがあなたがする必要があることを通過するウェブページです。他の人が述べたように、これはJavascriptで行う必要があります。これは、Acrobatのネイティブスクリプトです。
http://acrobatusers.com/tutorials/2008/07/auto_redaction_with_javascript
私はAcrobatを定期的に使用していますが、驚くべきことに、スクリプトを作成する必要はありませんでした。辞書で調べたところ、Javascriptファイルを作成して保存し、それが必要な場合はApplescriptで開く必要があるようです(たとえば、サービスとして)。
tell application "Adobe Acrobat Professional"
do script "this.info.title;"
end tell
これがAdobeのJavascriptforAcrobatのドキュメントです
GroupDocs.Redaction for .NETを使用して、PDFドキュメント内のテキストをプログラムで編集できます。テキストの正確なフレーズ、大文字と小文字を区別する正規表現の編集を実行できます。これは、正確なフレーズ編集を実行する方法です。
using (Document doc = Redactor.Load("D:\\candy.pdf"))
{
doc.RedactWith(new ExactPhraseRedaction("candy", new ReplacementOptions("[redacted]")));
// Save the document to "*_Redacted.*" file.
doc.Save(new SaveOptions() { AddSuffix = true, RasterizeToPDF = false });
}
開示:私はGroupDocsで開発者エバンジェリストとして働いています。
Adobe Acrobat内では、さまざまなイベントで呼び出すことができるActionScriptを使用してこれを実行できる場合があります。
別のアプリケーションでこれを実行したい場合は、PDFドキュメントを作成および操作できるさまざまなプラットフォームにさまざまなツールがありますが、一部に近づくことさえできる機能豊富なオープンソースライブラリはまだ見つかりません。これらの製品の。
http://www.aspose.com/categories/.net-components/aspose.pdf-for-.net/default.aspx
http://www.aspose.com/categories/java-components/aspose.pdf-for-java/default.aspx
iTextは私の個人的なお気に入りであり、あらゆるペニーの価値があります。
一般にPDFの編集は、かなり複雑な作業です。
doXiview(https://doxiview.cib.de)でPDFページを無料で編集できます。編集オプションは右側にあります。
別のアプローチは、CIB pdfツールボックス(https://pdftoolbox.cib.de/)によってプログラムで実行されます。