Bunu Ghostscript yardımıyla çözebilirsiniz. pdftk
yalnız bunu yapamam (bilgim dahilinde). Bunu manuel olarak yapmanız için size komut satırı adımlarını vereceğim. Bunu bir yordam olarak, sayfa boyutları ve sayfa numaraları için farklı parametrelerle komutlamak kolay olacaktır. Ama bunu kendin yapabileceğini söyledin ;-)
Ghostscript yardımıyla nasıl çözülür ...
... ve eğlenmek için, son zamanlarda "çift sayfa" sayfaları içeren bir giriş dosyası ile değil , "tiz-up" içeren bir dosya ile yaptım . Bu vaka için cevap okuyabilir burada .
Durumunuz daha da basit. Buna benzer bir şeyiniz var gibi görünüyor:
+------------+------------+ ^
| | | |
| 1 | 2 | |
| | | 595 pt
| | | |
| | | |
| | | |
+------------+------------+ v
^
fold
v
+------------+------------+ ^
| | | |
| 3 | 4 | |
| | | 595 pt
| | | |
| | | |
| | | |
+------------+------------+ v
<---------- 842 pt -------->
Her biri 421 pt x 595 pt boyutunda 4 sayfalık 1 PDF oluşturmak istiyorsunuz.
İlk adım
Önce giriş sayfalarının her birinden sol bölümleri çıkaralım:
gs \
-o left-sections.pdf \
-sDEVICE=pdfwrite \
-g4210x5950 \
-c "<</PageOffset [0 0]>> setpagedevice" \
-f double-page-input.pdf
Bu parametreler ne yaptı?
İlk olarak, PDF'de 1 inç == 72 puan olduğunu bilin . Sonra geri kalanı:
-o ...............:
Çıktı dosyasını adlandırır. Kesinlikle de kullanır -dBATCH -dNOPAUSE -dSAFER
.
-sDEVICE=pdfwrite :
PDF'yi çıktı biçimi olarak istiyoruz.
-g................:
çıktı ortam boyutunu piksel olarak ayarlar. pdfwrite'ın varsayılan çözünürlüğü 720 dpi'dir. Bu nedenle PageOffset ile bir eşleşme elde etmek için 10 ile çarpın.
-c "..............:
Ghostscript'ten verilen PostScript kod snippet'ini ana giriş dosyasından hemen önce işlemesini ister (bunu takip etmesi gerekir -f
).
<</PageOffset ....:
sayfa görüntüsünün ortama kaydırılmasını ayarlar. (Elbette, sol sayfalar için kaydırmanın [0 0]
gerçek bir etkisi yoktur.)
-f ...............:
bu girdi dosyasını işleyin.
Son komut hangi sonucu elde etti?
Bu:
Output file: left-sections.pdf, page 1
+------------+ ^
| | |
| 1 | |
| |595 pt
| | |
| | |
| | |
+------------+ v
Output file: left-sections.pdf, page 2
+------------+ ^
| | |
| 3 | |
| |595 pt
| | |
| | |
| | |
+------------+ v
<-- 421 pt -->
İkinci adım
Ardından, doğru bölümler:
gs \
-o right-sections.pdf \
-sDEVICE=pdfwrite \
-g4210x5950 \
-c "<</PageOffset [-421 0]>> setpagedevice" \
-f double-page-input.pdf
Görüntüleme alanını sabit tutarken sayfayı sola kaydırdığımız için negatif kaymaya dikkat edin.
Sonuç:
Output file: right-sections.pdf, page 1
+------------+ ^
| | |
| 2 | |
| |595 pt
| | |
| | |
| | |
+------------+ v
Output file: right-sections.pdf, page 2
+------------+ ^
| | |
| 4 | |
| |595 pt
| | |
| | |
| | |
+------------+ v
<-- 421 pt -->
Son adım
Şimdi sayfaları tek bir dosyada birleştiriyoruz. Bunu ghostscript ile de yapabiliriz, ancak pdftk
bunun yerine kullanacağız , çünkü bu iş için daha hızlı:
pdftk \
A=right-sections.pdf \
B=left-sections.pdf \
shuffle \
output single-pages-output.pdf
verbose
Bitti. İşte istenen sonuç. 4 farklı sayfa, 421x595 punto.
Sonuç:
+------------+ +------------+ +------------+ +------------+ ^
| | | | | | | | |
| 1 | | 2 | | 3 | | 4 | |
| | | | | | | |5595 pt
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
+------------+ +------------+ +------------+ +------------+ v
<-- 421 pt --> <-- 421 pt --> <-- 421 pt --> <-- 421 pt -->