Czy ktoś zna dobry sposób na podzielenie stron pdf na dwie nowe strony?
Żeby było jasne, nie próbuję rozdzielać już istniejących stron z pdf; Próbuję utworzyć dwie nowe strony z istniejącej pojedynczej strony.
pdf
ghostscript
YGA
źródło
źródło
Odpowiedzi:
Wypróbuj BRISS .
Pozwala podzielić każdą stronę na tyle podstron, ile chcesz, definiując regiony za pomocą GUI. Grupuje wszystkie podobne strony w grupy, dzięki czemu możesz raz zdefiniować regiony dla tej grupy.
Jest wieloplatformowy, darmowy i open-source.
źródło
Możesz to rozwiązać za pomocą Ghostscript.
pdftk
sam nie może tego zrobić (o ile mi wiadomo). Dam ci kroki linii poleceń, aby to zrobić ręcznie. Będzie to łatwe do skryptu jako procedury, również z różnymi parametrami rozmiarów stron i numerów stron. Ale powiedziałeś, że możesz to zrobić sam ;-)Jak rozwiązać ten problem za pomocą Ghostscript ...
... i dla zabawy, ostatnio zrobiłem to nie z plikiem wejściowym zawierającym strony „podwójne”, ale z „potrójnymi”. Możesz przeczytać odpowiedź na ten przypadek w innej odpowiedzi .
Twoja sprawa jest jeszcze prostsza. Wygląda na to, że masz coś podobnego do tego:
Chcesz utworzyć 1 plik PDF z 4 stronami, z których każda ma rozmiar 421 pkt x 595 pkt.
Pierwszy krok
Najpierw wyodrębnij lewe sekcje z każdej strony wejściowej:
Co zrobiły te parametry?
Po pierwsze, wiedz, że w PDF 1 cal == 72 punkty . Reszta to:
-o ...............:
Plik wyjściowy z nazwami. Niejawnie używa również-dBATCH -dNOPAUSE -dSAFER
.-sDEVICE=pdfwrite :
chcemy PDF jako format wyjściowy.-g................:
ustawia rozmiar nośnika wyjściowego w pikselach. Domyślna rozdzielczość pdfwrite to 720 dpi. Dlatego pomnóż przez 10, aby uzyskać dopasowanie do PageOffset.-c "..............:
prosi Ghostscript o przetworzenie podanego fragmentu kodu PostScript tuż przed głównym plikiem wejściowym (który musi nastąpić-f
).<</PageOffset ....:
ustawia przesunięcie obrazu strony na nośniku. (Oczywiście dla lewej strony przesunięcie o[0 0]
nie ma żadnego rzeczywistego efektu).-f ...............:
przetworzyć ten plik wejściowy.Jaki wynik osiągnęła ostatnia komenda?
Ten:
Drugi krok
Następnie odpowiednie sekcje:
Wynik:
Ostatni krok
Teraz łączymy strony w jeden plik. Moglibyśmy to zrobić również za pomocą ghostscript, ale użyjemy
pdftk
tego, ponieważ jest szybszy dla tej pracy:Gotowe. Oto pożądany wynik. 4 różne strony o wymiarach 421 x 595 pkt.
Wynik:
źródło
"<</PageOffset [-421 0]>> setpagedevice"
. Myślę, że to zależy od orientacji oryginalnego pliku. Niemniej jednak doskonała odpowiedź. :)Możesz użyć
mutool
(który wchodzi w składmupdf
):Możesz także użyć,
-y
jeśli chcesz wykonać podział pionowy.źródło
Aby rozwinąć odpowiedź @ Kurta (ponieważ nie mam wystarczającej liczby punktów reputacji do skomentowania), najpierw upewnij się, że wymiary, których używasz, nie są oparte na wymiarach Crop Box, jeśli różnią się od wymiarów Media Box. Rozmiar wyjściowy jest oparty na wymiarach skrzynki multimediów, ale wydaje się, że przesunięcie używa wymiarów ramki przycinania.
W przypadku strony rozkładanej, która miała pole multimediów 20,0833 x 13,833 i pole przycinania 19,25 x 13,0, które były takie same jak pole przycinania w moim dokumencie, aby podzielić go na dwie strony w systemie Ubuntu, po lewej stronie:
Prawa strona:
A potem zszyłem je
pdftk left.pdf right.pdf output final.pdf
.Alternatywą byłoby ustawienie pola przycinania na takie samo jak pole multimediów; wówczas offset wynosiłby -723. Ale następnie przycinanie musiałoby zostać zresetowane, aby przyciąć, aby strony były wyświetlane płynnie. W przeciwnym razie ustaw nośnik jako przycięty.
źródło