Mam dokument pdf, który utworzyłem za pomocą programów innych niż Acrobat (drukowanie do pdf, a następnie scalanie kilku plików pdf), ale chciałbym ręcznie zmienić numery stron (tzn. Kilka pierwszych stron to po prostu strony tytułowe, strona, która jest oznaczony jako „strona 1”, tak naprawdę jest to 7. arkusz pdf). Jaki jest najprostszy (a najlepiej bezpłatny) sposób na zrobienie tego?
Żeby było jasne, nie próbuję zmieniać liczb na samych stronach, ale numery stron w „metadanych”, które przechowuje pdf (same strony są już poprawnie ponumerowane; chcę tylko „przejść do strony 1”, aby przejść do strony oznaczonej jako 1, którą może być arkusz 7).
Jeśli chodzi o wartość, korzystam z systemu Windows, ale mam również dostęp do komputerów Mac.
Odpowiedzi:
To, czego potrzebujesz, nazywa się etykietami stron i można je łatwo dodać bezpośrednio w kodzie źródłowym pliku PDF. Zmień nazwę rozszerzenia pliku
pdf
natxt
i otwórz plik w edytorze tekstu (może to być powolne, w zależności od rozmiaru pliku, bądź cierpliwy). Informacje o etykietach stron są przechowywane w węźle zwanym katalogiem dokumentów, który wygląda mniej więcej tak:Może zawierać więcej mylących elementów, ale jest to podstawowa struktura. Jest tylko jeden katalog, więc w dużym pliku możesz wyszukać węzeł, który zawiera
/Catalog
. Teraz możesz wprowadzić żądane zmiany, wstawiając/PageLabels
wpis:Istnieją 3 wiersze rozpoczynające się od liczb, zwane indeksami stron . Strona 1 ma indeks
0
, strona 2 indeks1
i tak dalej. Zawsze opisują zakresy, więc linia z1 <<...>>
odnosi się do wszystkich stron od indeksu 1 do 5, a linia z6 <<...>>
dotyczy wszystkich stron od 6 do ostatniej strony. Etykieta dla0 <<...>>
zawsze musi być zdefiniowana.Więcej informacji na temat etykiet stron i kodu źródłowego PDF można znaleźć w standardzie PDF lub na wiki o standardach PDF.
źródło
/St 8
lub/St 2
ustawiasz punkt początkowy wyświetlanej etykiety; ale wybierz dowolną liczbę zamiast 8 (lub 2), która musi być> = 1. Na przykład1 << /S /r /St 12 >>
numeruje strony od (faktycznie) 2-6 jako (wyświetlane) xii-xvii - ponieważ „12” odpowiada „xii”.Jeśli dobrze cię rozumiem, oto jak powinno to działać:
Jednakże, wydaje się , aby pamiętać, że to nie działa w pełni wiarygodnie lub ostatni raz próbowałem to (około 2 lata temu).
AKTUALIZACJA: Moja pamięć mnie nie zawiodła. Teraz spróbowałem ponownie i zgłosiłem raport o błędzie dotyczący Ghostscript ( błąd 691889 ) dotyczący tego. Kliknij link do raportu o błędzie, aby zobaczyć szczegóły.
źródło
JAK Edytować numery stron PDF za pomocą Qpdf
Podsumowanie:
qpdf -qdf foo.pdf foo.qdf
edytuj foo.qdf
fix-qdf foo.qdf >bar.qdf
qpdf bar.qdf bar.pdf
Szczegółowe kroki
Krok 1.
Konwertuj dokument do łatwo edytowalnego formatu QDF. Uruchom qpdf z wiersza poleceń tak:
Krok 2.
Edytuj dokument QDF za pomocą edytora tekstu, takiego jak notepad ++, emacs lub gedit. Wyszukaj słowo
/Catalog
i zwróć uwagę na << nawiasy kątowe >>, które są w środku. W pobliżu znajdziesz bieżący/PageLabels
( jeśli istnieje ).Dodamy każdą sekcję, która powinna być inaczej numerowana do
/PageLabels
. Format tostart-page
<<style
>>. Zwróć uwagę, że białe znaki nie mają znaczenia i że pierwsza strona dokumentu to0
. O ile nie określono inaczej, nowa sekcja zawsze rozpoczyna numerowanie stron od 1.Przykłady
Oto pełny przykład tego, jak mogą wyglądać etykiety stron z dodanymi komentarzami:
Jeśli plik nie ma etykiet PageLab, dodaj je później
/Type /Catalog
. Na przykład można się zmienić,w,
OPCJONALNIE: ROZPOCZĘCIE OD INNEGO NUMERU
/St
Każda sekcja ponownie rozpoczyna numerację od 1, chyba że zostanie to inaczej określone za pomocą
/St
. Zauważ, jak w powyższym przykładzie czwarta strona zaczyna się od 15.OPCJONALNIE: ZA POMOCĄ INNEGO STYLU
/S
/S
Operator pobiera argument, który pozwala wybrać styl numeracji,Jeśli pominiemy
/S
operatora, wówczas ta sekcja stron nie będzie miała numeracji. Na przykład:OPCJONALNIE: DODAWANIE PREFIKSU DO KAŻDEJ STRONY
/P
Możesz wyświetlić dowolny ciąg tekstu przed numerem strony, określając słowo w nawiasach po
/P
:Podanie prefiksu bez stylu (
/S
) da strony, które zawierają tylko słowo bez żadnej liczby. Może to być przydatne, na przykład, jeśli chcesz, aby strona tytułowa miała po prostu etykietę „Okładka”.Krok 3.
Uruchom,
fix-qdf
aby dokonać poprawnych zmian w pliku PDF i umieścić wynik w bar.qdf.Krok 4.
Otwórz plik bar.qdf w programie do przeglądania plików PDF i sprawdź, czy jest poprawnie ponumerowany.
Krok 5.
Konwertuj plik QDF z powrotem na normalny plik PDF, na przykład:
Ta da. Jesteś skończony. Masz teraz dokument z poprawnie oznaczonymi numerami stron w bar.pdf.
źródło
Jest mały skrypt python, który może wykonać zadanie: https://github.com/lovasoa/pagelabels-py
W twoim przypadku zadzwoń:
źródło
jPdf Tweak to graficzne narzędzie Open Source, które pozwala edytować etykiety stron w plikach PDF. Strona dokumentacji zawiera instrukcje krok po kroku.
źródło
Aby usunąć stare, prawdopodobnie najłatwiejszym sposobem na wiele platform jest po prostu przycięcie starych. Możesz to zrobić na przykład za pomocą BRISS.
Dodanie nowych przy użyciu bezpłatnych narzędzi jest trudniejsze. Osobiście prawdopodobnie zrobiłbym to z pdflatex, tak jak w tej odpowiedzi StackExchange , choć może to być dość skomplikowane rozwiązanie, chyba że masz inne zastosowania dla pdflatex.
Myślę, że można to zrobić, ale zamiast tego za pomocą jPdfTweak .
źródło
Metoda podana przez Dane H. działa z programem Acrobat Reader (a ściślej mówiąc z bieżącą wersją programu Adobe Reader). Należy wspomnieć o jednym drobnym: pole u góry akceptuje tylko 8 znaków, więc nie można wprowadzić do niego czegoś takiego jak „indeks tematyczny”, jeśli taka etykieta została użyta. Możesz jednak zamiast tego użyć pozycji menu Widok> Nawigacja strony> Idź do ... lub równoważnego klawisza.
Kolejna wskazówka: specyfikacja pdf zawsze przypisuje numery stron kolejno, więc w przypadku dokumentu utworzonego przez skanowanie par stron dwa zestawy liczb wypadają poza krok (chyba że pracochłonne numerowanie każdej strony indywidualnie). Ale możesz bez wysiłku skonfigurować swój dokument, aby konwencja „przejdź do strony n prowadziła do stron 2n i 2n + 1”.
źródło
Odpowiedź Duńczyków jest najlepsza, formaty nieco się zmieniły, może to być pomocne:
źródło
Odkryłem, że bezpośrednia edycja pliku (jako nieskompresowana przez pdftk) nie działa, jeśli w regionie „/ kontury” są już ustawione „/ titles”. Technikę bezpośredniej edycji opisaną w powyższym poście pokazano na YouTube: https://www.youtube.com/watch?v=zoH1Z_hSpak
Ale funkcja „aktualizacji” programu pdftk może być bardziej intuicyjna (i bardziej niezawodna, gdy „/ tytuły” już istnieją w regionie „/ kontury” pliku PDF) poprzez edycję pliku „doc_data.txt” użytego tutaj: https: / /www.pdflabs.com/blog/export-and-import-pdf-bookmarks/
źródło
BeCyPDFMetaEdit http://www.becyhome.de/becypdfmetaedit/description_eng.htm
Możesz dodać / usunąć / zmienić wewnętrzny schemat numerów stron w zakładce „strony” tego darmowego narzędzia.
I bądź ostrożny, przeglądarka plików PDF xchange nie pokazuje schematu numerów stron, a foxitreader ma właściwy wynik. Nie testowałem czytnika Acrobat.
źródło