13

多くの場合、私たちのデザイナー (Adobe InDesign で作成) から PDF を受け取ります。これは、何千人もの人々に送信されるはずです。

私はすべての人のリストを持っています。OpenOffice.org で差し込み印刷を行うのは簡単です。ただし、OpenOffice.org は高度な PDF をサポートしていません。各ページにテキストを出力して印刷したいだけです。

私が現在行っている方法は次のとおりです。PDF を 6,000 部印刷してから、それらすべてをもう一度プリンターに入れ、その上に名前、住所、その他の情報を印刷するだけです。しかし、それは高価です。

悲しいことに、PDF を画像にして OpenOffice.org で使用することはできません。コンピューターが停止してしまうからです。また、このジョブをプリンタに送信するのにも非常に時間がかかります。

では、サードパーティのクローズド ソリューションにお金を払わずに、このメール マージを (できれば Python で) 簡単に行う方法はありますか?

4

11 に答える 11

7

今、私はアカウントを作りました。独創的なpdftkを使用して修正しました。

私の探求では、機能「背景」と「オーバーレイ」を完全に見落としています。私の解決策はこれでした:

pdftk names.pdf background boat_background.pdf output out.pdf

Python reportlab または同様の PDF 作成スクリプトを使用して簡単に作成names.pdfできます。これを行うにはコードを使用するのが最善です。6k ページの作成には、LibreOffice/OpenOffice では数時間かかりましたが、Python では数秒しかかかりませんでした。

于 2009-09-28T01:32:11.853 に答える
2

おそらくiTextのような PDF ライブラリを見ることができます。プログラミングの知識と少しの時間があれば、連絡先情報を PDF に追加するコードを書くことができます。

于 2008-12-10T15:48:19.603 に答える
2

よりシンプルで安価なソリューションが 2 つあります。

まず、DataMerge を使用して、InDesign で直接差し込み印刷を行うことができます。これは、CS で InDesign に追加されたユーティリティです。名前を CSV 形式でエクスポートまたは保存します。データを InDesign テンプレートにインポートし、名前、住所などのフィールドをレイアウトにドロップします。[進む] を押します。完成したすべての文字を含む新しいドキュメントを作成するか、プリンターに直接行くことができます.

または、データを XML ファイルにエクスポートし、InDesign で XML プレースホルダーを使用して動的レイアウトを作成することもできます。

この方法については、A Designer's Guide to Adob​​e InDesign and XML という書籍を参照してください。また、Lynda.com のビデオで、InDesign と XML を使用したダイナミック ワークフローを確認することもできます。

とても簡単です。

差し込み印刷用に個別の PDF ファイルを作成する場合は、1 つのファイルにすべての名前を含む 1 つの長い PDF を実行してから、Acrobat Pro 自体で個別の PDF ファイルに抽出を実行できます。

于 2012-07-05T23:34:57.963 に答える
1

PDF 以外の形式でテンプレートを取得できない場合、単純なアドホック ソリューションは次のようになります。

  • PDFを画像に変換する
  • (OpenOffice.org)ドキュメントの背景に画像を配置します
  • 差し込み印刷フィールドを画像の上に配置する
  • 差し込み印刷をして印刷する
于 2008-12-10T15:49:34.123 に答える
1

XMPie for Adob​​e Indesign などの変数データ プログラムの使用についてはどうですか。これは、ユーザーのリストを参照するプラグインです (ただし、Excel のリストである必要があると考えてください)。

于 2011-12-17T21:15:30.370 に答える
1

おそらく最良の方法は、欠落しているテキストを含む別の PDF を生成し、1 つの PDF を別の PDF の上に重ねることです。簡単な Google は、Acrobat でそれを行う方法を示すこのリンクを見つけました。他の方法もあると確信しています。

http://forums.macrumors.com/showthread.php?t=508226

于 2008-12-10T16:36:51.110 に答える
1

混乱のない大騒ぎの解決策として、iText を使用してテキストを PDF に追加するだけです。たとえば、読み込まれた PDF ドキュメントにテキストを追加するには、次の操作を実行できます。

PdfContentByte cb= ...;
cb.BeginText();
cb.SetFontAndSize(font, fontSize);
float x = ...;
float y = ...;
cb.SetTextMatrix(x, y);
cb.ShowText(fieldValue);
cb.EndText();    

そこから、別のファイルとして保存し、印刷します。

ただし、フォーム フィールドは、テンプレートからの pdf ドキュメントの生成に使用する方法であることがわかりました。

フォーム フィールド (Adobe Acrobat で追加) を含むテンプレートがある場合は、次の 2 つの選択肢のいずれかがあります。

  • 基本的にフォームのフィールドの値のリストである FDF ファイルを作成します。FDF は、元のドキュメントを参照する単純なテキスト ドキュメントであるため、PDF を開くと、FDF によって提供されたフィールド値でドキュメントが読み込まれます。
  • または、iText / iTextSharp などのライブラリを使用してテンプレートを読み込み、フォーム フィールドに手動で入力して、別の pdf として保存します。

サンプルの FDF ファイルは次のようになります ( Planet PDFから盗用) :

%FDF-1.2
%âãÏÓ
1 0 obj
<<<
 /F(Example PDF Form.pdf)
 /Fields[
  <<
  /T(myTextField)
  /V(myTextField default value)
  >>
  ]
 >>
>> endobj trailer
<>
%%EOF

FDF は形式が単純でサイズが小さいため、これが推奨される方法であり、この方法はどの言語でもうまく機能するはずです。

プログラムでフィールドに入力する場合は、次の方法で iText を使用できます。

PdfAcroForm acroForm = writer.AcroForm;
acroForm.Put(new PdfName(fieldInfo.Name), new PdfString(fieldInfo.Value));
于 2008-12-10T17:17:54.103 に答える
0

InDesign のデータ マージ機能を使用するか、これまでジョブの一部を印刷してから Word や Open Office でその上に差し込み印刷を行っていたことを行うことができます。ただし、バリアブル データ オフセット印刷やダイナミック パブリッシングを行うことができる会社を探すことも検討してください。前払いは少し高くつくかもしれませんが、時間、テスト、さらにはパッケージングや郵送に関してはバンドルを節約できます.

于 2015-05-18T05:34:11.500 に答える