4

コマンドラインで、さまざまなiWorkファイル(Numbers、Pages、Keynote)をPDFにバッチ変換しようとしています。

cups-filter を試してみましたが、iWork タイプ用の MIME タイプ フィルタがありません。次に、qlmanage を使用してプレビュー画像を生成し、それを使用することを検討しましたが、PDF ではなく HTML として生成される複数ファイルの Keynote ドキュメントでは機能しないようです。

助言がありますか?私はむしろ AppleScript に頼りたくありません。

4

4 に答える 4

3

私が本当に避けたかったので、これが私が最終的に行ったものです、AppleScript。

iWorkドキュメントを保存する場合、[ドキュメントにプレビューを含める]チェックボックスがあります。これをチェックすると、iWorkドキュメントバンドル(実際にはzipファイル)内に「QuickLook/Preview.pdf」が作成されます。幸い、ほとんどのzipファイルについてこれをチェックしていたので、NSTemporaryDirectoryに解凍してそのファイルを取得しただけでした。

作成しなかった場合は、qlmanageを実行してドキュメントプレビューを作成するためのスクリプトを作成しました。PDFを作成する人もいれば、HTMLファイルを作成する人もいます。次に、http://code.google.com/p/wkhtmltopdf/を使用してこのHTMLをPDFに変換できます。

于 2012-04-06T08:44:15.673 に答える
2

うーん...あなたはそれが必要です

  1. iWorkのファイル形式を理解し、
  2. ドキュメントをレンダリングして PDF を作成できます。

iWork スイートを再発明したいのでない限り... iWork アプリに何を求めているかを伝えるだけの方が簡単に思えます。

これはScripting Bridgeを介して行います。

私は Applescript を使用しますが、Ruby と Pythonを Scripting Bridge と共に使用して、必要なことを達成できるかもしれません。

Scripting Bridge を使用すると、RubyCocoa および PyObjC スクリプトは、AppleScript スクリプトが実行できることを実行できます。つまり、スクリプト可能なアプリケーションを制御し、それらとデータを交換します。

私はしばらく Scripting Bridge を使っていませんが、アプリケーションにドキュメントを印刷するように指示することはできると思います。また、OS X で印刷できるアプリケーションは、代わりに PDF に送信できます。

于 2012-04-04T17:42:58.057 に答える