問題タブ [pdftk]

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 に答える
1215 参照

php - Linux サーバーに Pdftk をインストールする

Windowsローカルマシンでpdftk.exeを使用して一部のpdfを操作しており、正常に動作しています。Linuxであるサーバーにアップロードしたい。検索すると、Red Hat 用のコンパイル済みパッケージとしてサーバー自体に pdftk をインストールする必要があることがわかりました。これどうやってするの ??誰でもこれで私を助けることができますか??

0 投票する
3 に答える
6908 参照

php - XFDF を PDF フォームとマージして最終的な PDF サーバー側を作成しますか?

これは私が現在持っているものです:

  • ユーザーがフォーム データを送信すると、「PDF のダウンロード」リンクが表示されます。

  • リンクは、その場で XFDF ファイルを生成し、適切なヘッダーなどを設定した後に XFDF ファイルを出力するスクリプトを指しています。

  • XFDF ファイルは、パスワードで保護された PDF を指します。これは、XFDF データを使用してフィールドに入力する汎用 PDF フォームです。

私が欲しいもの:

  • ユーザーが「PDF のダウンロード」リンクをクリックします。

  • XFDF はその場で生成されます (サーバーにファイルは書き込まれません)。

  • PDF と XFDF は、汎用 PDF を使用してサーバー側でマージされます。最終的な PDF の内容は、元の XFDF と同じようにユーザーに出力されます。

  • XFDF も最終的な PDF もサーバーに保存されません。

FDF/XFDF ファイルを処理するためのいくつかのオプションがあるpdftkを見ていましたが、これらはすべて、a) 元の XFDF ファイルがサーバー上にファイルとして存在し、b) 結果の PDF がファイルとして出力されることを前提としています。サーバー上のファイル。

また、pdftk は 4 歳です。

私は疑問に思っていました:

a) そこに pdftk に相当する新しいものはありましたか?

b)新しいpdftkのようなツールを使用するか、pdftkを使用して動的パスを使用して、データがサーバー上にファイル形式で存在する必要がないようにする方法があった場合は?

最近、組み込みの入力/出力ストリームを使用することを学びましたphp://が、使用方法についてはまだ本当に曖昧ですが、これはこれに適した場所でしょうか?

0 投票する
2 に答える
1032 参照

java - gcjなしでJavaとCを組み合わせる-CをJavaに移動しますか、それともJavaをCに移動しますか?

まず、私はこれを行った経験がありません。しかし、他の良いプログラムの始まりと同じように、私は修正する必要のある問題を抱えているので、学びたいと思っています。

皆さんの多くは、さまざまなpdf関連のタスクを処理するための便利なユーティリティであるpdftkにすでに精通しているでしょう。私が知る限り、これらの機能のほとんどは、必要なもの(そしておそらくそれがまだ存在する唯一の理由)を除いて、はるかに新しく、より軽いライブラリ/拡張機能で利用できます:フォームデータファイル(fdfとxfdf)をフォームとマージするPDFと出力として新しいファイルを取得します。

問題は、私のサーバーにgcjがないことです。これは、pdftkをビルド/コンパイルするための基本です。Solarisを使用しているためなのか、それとも他のシステム管理者レベルの理由によるものなのかはわかりませんが、すぐにgcjを取得することはできません。そして、私が知る限り、Solaris用にコンパイル済みのバイナリはありません。

そのため、MAKEファイルとCコードを書き直して、javacを介してJavaライブラリ(非常に古いバージョンのitext)を直接インポートできると考えています。

しかし、実際にどこから始めればよいのかわかりません。私が知っているのは:

  1. 使い終わったらバイナリが必要なので、使用するたびにJavaVMは必要ありません。
  2. 現在のアプリはGCJを使用しています。

だから私の最初の考えは「これは簡単だ、おそらく他のCベースのメソッドでクラスを呼び出すことができる」ということでしたが、これを行うための簡単なメソッドを見つける代わりに、さまざまな角度でたくさんの長い投稿を見つけていますこれに近づくことができることなど。

次に、Sunのサイトで、Javaクラスで他の言語(Cなど)を呼び出す方法に関するページを見つけました。しかし、そのアプローチの問題は次のとおりです。

  1. ラッパーのラッパーを作成する必要があります
  2. その部分をスキップして、すべてをJavaで書くほうがよいでしょう。
  3. すでに存在するものを含むクラスをインポートできれば、まだその準備はできていません。
  4. 最後にコンパイルしてバイナリを取得できるのか、それとも毎回必要とされるJavaに閉じ込められているのかがわかりません。

繰り返しになりますが、無知であることをお詫び申し上げます。GCJに依存するCコードをJavaで直接機能するものに置き換える方法のアドバイスと例が必要です。

そしてもちろん、「それができれば、もう金持ちになる」というタイプの質問の1つを尋ねている場合は、私に知らせてください。

0 投票する
2 に答える
25731 参照

php - PHPからコマンドラインにstdinとして変数を渡す方法

pdftkアプリを使用してXFDFをPDFフォームとマージし、マージされたPDFをユーザーに出力するPHPスクリプトを作成しようとしています。pdftkのドキュメントによると、フォームデータを経由で渡し、stdinPDFをstdoutストリームに出力することができます。コマンドラインからpdftkを使用する通常のfile-not-streamの方法は次のとおりです。

コマンドラインでストリームを使用するには、次のように入力します。

私にはいくつかの問題があります:

1)次のようstdoutに(の代わりにstdin)xfdfファイルを使用して出力を返すpdftkを取得しました:

しかし、Adobe Readerによると、それが作成するpdfは破損しており、テキストエディターでファイルをざっと見ると、少なくとも、行末が本来あるべき場所に設定されていないことがわかります。pdftkによって作成された同一のPDFがあり、ファイルに出力されます。pdfはテキストエディターで正常に表示されるため、不正なデータを出力しているのはpdftkではないことがわかります。

2)stdinPHPでストリームを設定して、そのストリームをpdftkの入力として使用できるようにする方法を、一生理解できません。私がPHPのドキュメントで読んでいることから、stdin読み取り専用ですが、どのようにしてそのストリームに何かが入りますか?

理想的には、これを本当にシンプルに保ち、の使用を避けたいと思いproc_open()ます。私はその関数を使おうとしましたが、あまり成功しませんでした。これはおそらく私のせいであり、関数のせいではありませんが、実際には私の目標は十分に単純で、必要のない堅牢な関数の使用は避けたいと思います。

理想的には、私のコードは次のようになります。

ちょっと注意してください。実際のxml文字列をコマンドラインに入力することは可能ですが、これでは非常に信頼性の低い結果が得られました。

編集

多くの助けを借りて、私の本当の質問は「PHPで変数をコマンドライン実行にパイプする方法」であることがわかりました。どうやらproc_openは行くための最良の方法、または少なくとも最も簡単です。これを理解するのに私は永遠にかかりました、そしてグーグルでの私の研究は他の人が苦労しているかもしれないことを示唆しているので、私は私の問題のために特に働いたコードを投稿します:

0 投票する
12 に答える
23075 参照

linux - PDF をブックマーク付きの PDFTK とマージしますか?

pdftk を使用して複数の pdf をマージするとうまくいきます。ただし、マージされた各pdfのブックマークを作成する簡単な方法はありますか?

これに関するpdftkドキュメントには何も表示されないため、pdftkでは可能ではないと思います。

マージされたすべてのファイルは 1 ページになるので、後でブックマークを追加できる他のユーティリティがあるかどうか疑問に思っていますか?

または、個々のPDFごとにブックマークを指定しながらマージできる別のLinuxベースのPDFユーティリティ。

0 投票する
1 に答える
5789 参照

php - PHPを介してPDFにメタデータを追加する

PHP(5.3)でダウンロードするときに、カスタムメタデータフィールドを使用してPDFを拡張する必要があります。

私はpdftkライブラリを見てきましたが、PHPを(Ubuntu)Webサーバーでどのようにインターフェースさせるかについて頭を悩ませることはできません。

非推奨のPDFInfoライブラリは行き止まりのようです。

より単純/より簡単/より良い解決策はありますか?

ありがとう

0 投票する
2 に答える
32554 参照

pdf - PDFTK 回転ページの問題

PDFTK を使用して PDF ドキュメントのページを回転させようとしています。次のようなものを実行しても、ページの回転は変更されません。

(これはページ 1 を「北」または「0 度」に回転させます。)

一部の PDF テスト ドキュメントでは、期待どおりに動作します (つまり、ページが変更されません)。ただし、一部のテスト ドキュメントでは、PDF ドキュメントが 90 度回転します。ページを回転しようとすると、常に追加の 90 度が適用されます。だから、私がこれを行うと:

(これは、ページ 1 を「東」または「90 度」回転させることです。) 結果として、ページは 180 度回転します。さらに 90 度です。

Acrobat Reader で表示すると、PDF は正常に表示されます。

これらの問題テスト PDF ドキュメントとの唯一の違いは、Acrobat Pro を使用して既に回転を変更していることです。これらの既に回転された PDF ドキュメントに PDFTK ページ回転を適用すると、この問題が発生します。

何が起こっているのか分かりますか?

0 投票する
4 に答える
27361 参照

php - サーバーに Pdftk をインストールするにはどうすればよいですか?

私は Linux サーバーを使用しており、Pdftk をインストールしようとしていますが、正確に何をすべきかを理解するのに問題があります。

インストール方法に関する次のドキュメントを見つけましたが、ほとんどの場合、ローカル Windows マシンへのインストールについて言及されています。

それらは次のとおりです 。 http://www.andrewheiss.com/blog/2009/07/29/installing-pdftk-php/

http://www.accesspdf.com/pdftk/#packages

pdftkを参照できるように、サーバーのどこに配置する必要があるファイルを正確に理解するのを手伝ってもらえますか?

0 投票する
2 に答える
760 参照

pdf - PDFファイルを1ページに複製

A4ページのちょうど1/5のサイズのPDFファイルと、それを繰り返し追加して単一のA4ページに変換するスクリプトがあります。問題は、ImageMagickがビットマップグラフィックスでのみ機能し、私のPDFにテキストと詳細なベクターグラフィックスが含まれていることです。その結果、テキストデータが失われ、ファイルサイズが大幅に大きくなり、印刷出力が低下します。

convert -density 1200 $pdf_file $pdf_file $pdf_file $pdf_file $pdf_file +append $a4_file ベクターグラフィックをラスター化せずに、線と同じようにできるようにしたいと思います。

0 投票する
2 に答える
5445 参照

php - PHP スクリプトからの PDFTk の実行がエラー コード 11 で失敗する

PHPスクリプトからPDFに入力しようとしています。次のURLでSid Stewardの記事をフォローしています。

CentOS Linux ディストリビューションでPDFTkパッケージを構成しました。コマンド プロンプトから pdftk を実行できます。FDF フォームが PDF とマージされ、平坦化された (塗りつぶされた) PDF が正常に生成されます。次のコマンドを使用して、シェルを使用して Pdftk をテストしています。

しかし、PHP で同様のコマンドを実行しようとすると、エラーが発生します。パススルーコマンドがエラー コード11で失敗しています。以下は、コマンドを実行するために使用しているphpコードです。

上記の$fdf_fnには FDF ファイル名があります。form.pdfは入力可能な PDF フォームです。上記のコード行を提供したform.pdfと PHP スクリプト ファイルの両方が同じフォルダーにあります。shell_exec('pdftk')をエコーし​​て PHP を介して PDFtk が正しく実行されていることを確認しましたが、標準のヘルプの詳細が返されていました。

詳細を説明すると、pdftk へのパスは/usr/bin/で、PHP スクリプトと PDF フォーム ファイルは/var/www/html/pdfmergeの下にあります。

PHPを介したコマンドの実行がエラーコード11で失敗しているという私が間違っていることを教えてください。