Zihnime göre işi başarmanın en iyi yolu grafiksel bir kullanıcı arayüzü programı kullanmak değil, bir bash betiği koleksiyonu kullanmaktır (Unix / Linux ortamında olduğu gibi), bu nedenle bazı temel programlama bilginiz varsa, GUI programının size sağlayabileceği çok daha fazla şey yapmak için.
Önce kullanabileceğiniz minimum bir Unix benzeri komut satırı yükleyebilirsiniz
benim tercihim çok büyük miktarda yazılım paketi içerdiği için Cygwin.
PDF kurulumundan görüntü ayıklamak istiyorsanız pdfimages pdfimages, PDF dosyalarından görüntüleri ayıklamak için açık kaynaklı bir komut satırı yardımcı programıdır. Poppler-utils ve xpdf-utils'in bir parçası olarak serbestçe kullanılabilir ve varsayılan olarak birçok Linux dağıtımına dahildir.
$ pdfimages file.pdf foo
Bu kullanım, önek olarak "foo" içeren bir dizi numaralı görüntü üretir.
Gerçekte $ mkdir temp $ mkdir temp / jpg kullanın
dizini içinde jpg adlı geçici bir klasör oluşturmak için
$ pdfimages -j file.pdf temp/jpg/foo
Diyelim ki geçici klasörde birkaç fooXXXX.jpg resminiz var.
Sizin durumunuzda hiç fooXXXX.jpg resimleriniz vardı.
Artık convert'i kullanarak bir PDF oluşturabilirsiniz (ImageMagick'ten bir komut satırı)
Bu yüzden ImageMagick http://www.imagemagick.org/ dosyasını indirin veya Cygwin paket yöneticisini kullanarak kurun
Convert belgelerine bir göz atın (favori arama motorunuza "ImageMagick convert" yazın)
Bu nedenle, resimlerinizi bir PDF dosyasına dönüştürmek için yazmanız gerektiğini anlıyorsunuz.
$ convert -compress jpeg temp/*.jpg my_output_file.pdf
Hepsi bu ... ;-) ama bu çözüm genişletilebilir ...
Taranan resimlerin bir kitaptan geldiğini düşünelim ... 1 dosya aslında kitabınızın 2 sayfası ...
10 dosyanız varsa ... kitabınızın 20 sayfası vardı ... ve PDF'nizin de 20 sayfası olmasını istiyorsunuz.
Bu nedenle, her sayfa için 2 dosya oluşturmak için bir dosyada bulunan resmi bölmeniz gerekir.
Dosyanızın temp / foo0001.jpg olduğunu varsayalım 2 temp2 / foo0001a.jpg (sol sayfa) ve temp2 / foo0001b.jpg (sağ sayfa) dosyalarınız olacak
Temp2 dizinini oluşturun (kesilen dosyalarınızın nereye gideceğini)
$ mkdir temp2
$ mkdir temp2/jpg
Bir metin düzenleyici kullanarak split_jpg_minw.sh adlı bir dosya oluşturun (Emacs, VI veya Windows uygulamasını tercih ediyorsanız Notepad veya Notepad ++ kullanabilirsiniz)
minimal_width=1500
minimal_width_ignore=10
rm temp2/jpg/*.jpg
for f in temp/jpg/*.jpg
do
f2=$(basename $f)
read -r width height <<< $( convert $f -format "%w %h" info:)
width2=$(( ${width} / 2 ))
height2=${height}
if [ $width -gt $minimal_width ]; then
echo "split $f ${width}x${height} to 2 files ${width2}x${height2}"
convert $f -crop ${width2}x${height2}+0+0 +repage temp2/jpg/${f2%%.*}a.jpg
convert $f -crop ${width2}x${height2}+$width2+0 +repage temp2/jpg/${f2%%.*}b.jpg
else
if [ $width -gt $minimal_width_ignore ]; then # ignore if with < 10px
echo "copy $f ${width}x${height} (don't split because width<$minimal_width)"
cp $f temp2/jpg/$f2
else
echo "ignore $f ${width}x${height} width=$width<minimal_width_ignore=$minimal_width_ignore"
fi
fi
do
width = 1500px bir dosyayı bölme (veya etmeme) sınırıdır
- 1500 pikselin üzerindeki bir dosya bölünür
- 1500 pikselin altında bir dosya bölünmez
Bu komut dosyasını yürütülebilir yap
$ chmod +x split_jpg_minw.sh
(dosyanın adını otomatik olarak tamamlamak için sekme tuşunu kullanabilirsiniz)
Komut dosyasını çalıştırın
$ ./split_jpg_minw.sh
Bölünen dosyalar temp2 / jpg klasöründe olacaktır
Yeni "bölünmüş" dosyayı oluşturun.
$ convert -compress jpeg temp2/*.jpg my_output_file_splitted.pdf
Bh komut dosyası kullanarak PDF dosyası oluşturmak için zincirinize çok daha fazla seçenek ekleyebilirsiniz.
Sınır yoktur ... sadece komut dosyası yazmayı öğrenmelisiniz (ancak bazı kod örnekleri bazen kitaplardan çok daha yararlıdır)
Örneğin, G'MIC gibi komut satırı araçlarını kullanarak PDF dosyasını oluşturmadan önce (örneğin Moiré desenini kaldırmak veya gürültüyü azaltmak için) resimlerinize filtre uygulayabilirsiniz