6

一連のJPG画像があります。各スキャンは、すでに1ページの正確なサイズにトリミングされています。それらは貴重で絶版の本の連続したページです。パブリッシングアプリケーションでは、これらのページを単一のPDFファイルとして送信する必要があります。

これらの各画像を取得して、ワードプロセッサ(OpenOfficeなど)に貼り付けることができます。残念ながら、ここでの問題は、それが非常に大きな本であり、これらの本のかなりの数を通過できることです。明らかに時間がかかります。これはボランティア活動です!

私の2番目のアイデアは、LaTeX(実際にはpdflatex)を使用することでした。一連のインライン画像に含まれるものだけで構成される非常に単純なドキュメントを作成できました。このアプローチを機能させることができると確信しています。非常に単純な作業のように見えるものについては、少し複雑な面があります。

もっと簡単な方法があるはずだと思いました-それで何か提案はありますか?

私はUbuntu9.10を使用しており、主要なプログラミング言語はPythonですが、ソリューションが非常に単純な場合は、機能するテクノロジーを喜んで採用します。


更新、誰かがここで何が問題になっているのか説明できますか?

sal@bobnit:/media/NIKON D200/DCIM/100HPAIO/bat$ convert '*.jpg' bat.pdf
convert: unable to open image `*.jpg': No such file or directory @ blob.c/OpenBlob/2439.
convert: missing an image filename `bat.pdf' @ convert.c/ConvertImageCommand/2775.

convertコマンド構文にbat.pdfが出力であることを指定する方法はありますか?

ありがとう

4

3 に答える 3

12

もっと簡単な方法があるはずだと思いました-それで何か提案はありますか?

そうです、あります!これを試して:

sudo apt-get install imagemagick
cd ~/rare-book-images
convert "*.jpg" rare-book.pdf

注:使用しているシェルによっては、「*。jpg」が期待どおりに機能しない場合があります。引用符を省略して、期待どおりの結果が得られるかどうかを確認してください。

于 2010-04-11T23:15:11.060 に答える
6

Pythonソリューションに興味がある場合は、ReportLabライブラリを使用できます。例えば:

from reportlab.platypus import SimpleDocTemplate, Image
from reportlab.lib.pagesizes import letter
from glob import glob

doc = SimpleDocTemplate('image-collection.pdf', pagesize=letter)
parts = [Image(filename) for filename in glob('*.jpg')]
doc.build(parts)

これにより、現在のディレクトリ内のすべてのjpgファイルが取得され、「image-collection.pdf」というファイルが生成されます。

于 2010-04-12T05:31:25.573 に答える
0

for内部にコマンドを含むループと\includegraphics、LaTeXファイル内に適切に気の利いた標準の画像ファイルの命名などを使用してそれを行うことができるでしょうか。これには、タイトルページなどやページ番号などを許可できるという利点があります。(他の解決策のいずれかがこれを行うかどうかはわかりません。わざわざ確認することはできません。ここで大声で考えているだけです。)

于 2010-04-13T17:29:44.277 に答える