
PDF-bestanden zijn ontworpen om het delen te bevorderen. Iedereen kan ze openen – in hun webbrowser als ze niets anders hebben. Met Linux kun je PDF-bestanden manipuleren, samenvoegen en splitsen op de opdrachtregel.
Het draagbare documentformaat
PDF-bestanden maken op Linux
Het qpdf-commando
PDF-bestanden samenvoegen
PDF-bestanden splitsen
Pagina’s draaien
Versleutelen en ontsleutelen
qpdf is een uitstekende tool
Het draagbare documentformaat
Het Portable Document Format (PDF) heeft een probleem opgelost. Wanneer u een document op een computer maakte en het met iemand anders wilde delen, werkte het verzenden van het document niet altijd.
Zelfs als ze hetzelfde softwarepakket hadden dat u had gebruikt om uw document te maken, zouden ze mogelijk niet dezelfde lettertypen op hun computer hebben geïnstalleerd als op de uwe. Ze zouden het document kunnen openen, maar het zou er verkeerd uitzien.
Als ze geen kopie hadden van de software die je hebt gebruikt om het pakket te maken, zouden ze het helemaal niet kunnen openen. Als je software gebruikte die alleen onder Linux beschikbaar was, had het geen zin om dat document naar iemand te sturen die alleen Windows gebruikte.
Adobe creëerde in 1992 een nieuw bestandsformaat en noemde dit het draagbare documentformaat. Documenten die zijn gemaakt volgens die norm, ISO 32000, bevatten de afbeeldingen en lettertypen die nodig zijn om de inhoud van het bestand correct weer te geven. PDF-bestanden kunnen door PDF-viewers op elk platform worden geopend. Het was een platformonafhankelijke, eenvoudige en elegante oplossing.
Een PDF-bestand is niet bedoeld om kneedbaar te zijn zoals een tekstverwerkerdocument. Ze lenen zich niet snel voor bewerking. Als u de inhoud van een PDF moet wijzigen, is het altijd beter om terug te gaan naar het bronmateriaal, dat te bewerken en een nieuwe PDF te genereren. In tegenstelling tot het proberen om de inhoud te veranderen, structureel manipulaties kunnen relatief gemakkelijk worden uitgevoerd op PDF-bestanden.
Hier zijn enkele manieren om PDF-bestanden op Linux te maken en hoe u enkele van de transformaties kunt uitvoeren die daarop kunnen worden toegepast.
PDF-bestanden maken op Linux
Veel van de applicaties die beschikbaar zijn op Linux kunnen direct PDF-bestanden genereren. LibreOffice heeft een knop rechts op de werkbalk die een PDF van het huidige document genereert. Makkelijker kan niet.

Voor fijnmazige controle over het maken van PDF’s is de Scribus desktop publishing-applicatie moeilijk te verslaan.
Als u documenten met wetenschappelijke of wiskundige inhoud moet maken, bijvoorbeeld voor indiening bij academische tijdschriften, is een toepassing die LaTeX gebruikt, zoals Texmaker, perfect voor u.
Als u de voorkeur geeft aan een workflow in platte tekst, misschien met behulp van Markdown, kunt u gebruik maken van pandoc om te converteren van en naar een groot aantal bestandsindelingen, waaronder PDF. We hebben een gids gewijd aan: pandoc maar een eenvoudig voorbeeld zal u laten zien hoe gemakkelijk het is om te gebruiken.
Installeer eerst Texmaker. pandoc vertrouwt op sommige LaTeX-bibliotheken voor het genereren van PDF’s. Het installeren van Texmaker is een handige manier om aan die afhankelijkheden te voldoen.
De -o (uitvoer) optie wordt gebruikt om het type bestand op te geven dat zal worden gemaakt. Het bestand “raw-notes.md” is een Markdown-bestand met platte tekst.
pandoc -o new.pdf raw-notes.md

Als we het bestand “new.pdf” openen in een PDF-viewer, zien we dat het een correct gevormde PDF is.

Het qpdf-commando
De qpdf commando stelt u in staat om bestaande PDF-bestanden te manipuleren, met behoud van hun inhoud. De wijzigingen die u kunt aanbrengen zijn: structureel. Met qpdf u kunt taken uitvoeren zoals het samenvoegen van PDF-bestanden, het extraheren van pagina’s, het roteren van pagina’s en het instellen en verwijderen van codering.
Installeren qpdf op Ubuntu gebruik je deze opdracht:
sudo apt install qpdf

Het commando op Fedora is:
sudo dnf install qpdf

Op Manjaro moet je typen:
sudo pacman -S qpdf

PDF-bestanden samenvoegen
In het begin waren sommige van de qpdf opdrachtregelsyntaxis kan verwarrend lijken. Veel van de opdrachten verwachten bijvoorbeeld een invoer-PDF-bestand.
Als een opdracht er geen vereist, moet u de gebruiken --empty optie in plaats daarvan. Dit vertelt qpdf geen invoerbestand te verwachten. De --pages optie laat je pagina’s kiezen. Als u alleen de PDF-namen opgeeft, worden alle pagina’s gebruikt.
Gebruik deze opdrachtindeling om twee PDF-bestanden te combineren om een nieuw PDF-bestand te vormen.
qpdf --empty --pages first.pdf second.pdf -- combined.pdf

Dit commando bestaat uit:
-
qpdf: Roept de
qpdfopdracht. -
-leeg: Vertelt
qpdfer is geen invoer-PDF. Je zou kunnen stellen dat “first.pdf” en “second.pdf” invoerbestanden zijn, maarqpdfbeschouwt ze als opdrachtregelparameters. -
-Pagina’s: Vertelt
qpdfwe gaan werken met pagina’s. - eerste.pdf tweede.pdf: De twee bestanden waaruit we de pagina’s gaan extraheren. We hebben geen paginabereiken gebruikt, dus alle pagina’s worden gebruikt.
- —: Geeft het einde van de opdrachtopties aan.
- gecombineerd.pdf: De naam van de PDF die wordt gemaakt.
Als we zoeken naar PDF-bestanden met lszullen we onze twee originele bestanden zien – onaangeroerd – en de nieuwe PDF genaamd “combined.pdf”.
ls -hl first.pdf second.pdf combined.pdf

Er zijn twee pagina’s in “first.pdf” en één pagina in “second.pdf.” Het nieuwe PDF-bestand heeft drie pagina’s.

U kunt jokertekens gebruiken in plaats van een groot aantal bronbestanden op te sommen. Met deze opdracht wordt een nieuw bestand met de naam “all.pdf” gemaakt dat alle PDF-bestanden in de huidige map bevat.
qpdf --empty --pages *.pdf -- all.pdf

We kunnen paginabereiken gebruiken door de paginanummers of bereiken toe te voegen achter de bestandsnamen waaruit de pagina’s moeten worden geëxtraheerd.
Hiermee worden pagina’s één en twee uit “first.pdf” en pagina twee uit “second.pdf” gehaald. Merk op dat als “combined.pdf” al bestaat, het niet wordt overschreven. Het heeft de geselecteerde pagina’s toegevoegd ernaar toe.
qpdf --empty --pages first.pdf 1-2 second.pdf 1 -- combined.pdf

Paginabereiken kunnen zo gedetailleerd zijn als u wilt. Hier vragen we om een zeer specifieke set pagina’s van een groot PDF-bestand, en we maken een samenvattend PDF-bestand.
qpdf --empty --pages large.pdf 1-3,7,11,18-21,55 -- summary.pdf

Het uitvoerbestand, “summary.pdf” bevat pagina’s 1 tot 3, 7, 11, 18 tot 21 en 55 van het invoer-PDF-bestand. Dit betekent dat er 10 pagina’s in “summary.pdf” zijn

We kunnen zien dat pagina 10 pagina 55 is van de bron-PDF.
PDF-bestanden splitsen
Het tegenovergestelde van het samenvoegen van PDF-bestanden is het splitsen van PDF-bestanden. Om een PDF te splitsen in afzonderlijke PDF-bestanden die elk een enkele pagina bevatten, is de syntaxis eenvoudig.
Het bestand dat we splitsen is “summary.pdf” en het uitvoerbestand wordt gegeven als “page.pdf”. Dit wordt gebruikt als de basisnaam. Aan elk nieuw bestand wordt een nummer toegevoegd aan de basisnaam. De --split-pages optie vertelt qpdf wat voor soort actie we uitvoeren.
qpdf summary.pdf page.pdf --split-pages

De uitvoer is een reeks opeenvolgend genummerde PDF-bestanden.
ls page*.pdf

Als u niet elke pagina wilt opsplitsen, gebruikt u paginabereiken om de gewenste pagina’s te selecteren.
Als we deze volgende opdracht geven, splitsen we een verzameling PDF-bestanden van één pagina op. De paginabereiken worden gebruikt om de gewenste pagina’s of bereiken te specificeren, maar elke pagina wordt nog steeds opgeslagen in een enkele PDF.
qpdf large.pdf section.pdf --pages large.pdf 1-5,11-14,60,70-100 -- --split-pages

De geëxtraheerde pagina’s hebben namen op basis van “section.pdf” waaraan een volgnummer is toegevoegd.
ls section*.pdf

Als u een paginabereik wilt extraheren en wilt opslaan in een enkele PDF, gebruikt u een opdracht van dit formulier. Merk op dat we niet de --split-pages keuze. In feite is wat we hier doen een PDF-samenvoeging, maar we “samenvoegen” slechts pagina’s uit één bronbestand.
qpdf --empty --pages large.pdf 8-13 -- chapter2.pdf

Hiermee wordt een enkele PDF met meerdere pagina’s gemaakt met de naam ‘chapter2.pdf’.
Pagina’s draaien
Om een pagina te roteren, maken we een nieuwe PDF die hetzelfde is als de invoer-PDF met de opgegeven pagina geroteerd.
Wij gebruiken de --rotate optie om dit te doen. De +90 betekent de pagina 90 graden met de klok mee draaien. U kunt een pagina 90, 180 of 270 graden draaien. Je kunt de rotatie ook in graden tegen de klok in specificeren door een negatief getal te gebruiken, maar dat is weinig nodig. Een rotatie van -90 is hetzelfde als een rotatie van +270.
Het getal gescheiden van de rotatie door een dubbele punt “:” is het nummer van de pagina die u wilt roteren. Dit kan een lijst met paginanummers en paginabereiken zijn, maar we draaien alleen de eerste pagina. Gebruik een paginabereik van om alle pagina’s te roteren 1-z.
qpdf --rotate=+90:1 summary.pdf rotated1.pdf

De eerste pagina is voor ons gedraaid.

Versleutelen en ontsleutelen
PDF-documenten kunnen worden versleuteld, zodat ze een wachtwoord nodig hebben om ze te openen. Dat wachtwoord heet de gebruikerswachtwoord. Er is nog een wachtwoord vereist om de beveiligings- en andere machtigingsinstellingen voor een PDF te wijzigen. Het heet de eigenaar wachtwoord.
Om een PDF te versleutelen, moeten we de --encrypt optie en geef beide wachtwoorden op. Het gebruikerswachtwoord komt eerst op de opdrachtregel.
We specificeren ook de sterkte van de codering die moet worden gebruikt. U hoeft alleen maar terug te vallen van 256-bits codering naar 128-bits als u zeer oude PDF-bestandsviewers wilt ondersteunen. We raden u aan om bij 256-bits codering te blijven.
We gaan een versleutelde versie maken van de “summary.pdf” genaamd “secret.pdf”.
qpdf --encrypt hen.rat.squid goose.goat.gibbon 256 -- summary.pdf secret.pdf

Wanneer we de PDF proberen te openen, vraagt de PDF-viewer ons om een wachtwoord. Door het gebruikerswachtwoord in te voeren, wordt de kijker geautoriseerd om het bestand te openen.

Onthoud dat qpdf verandert de bestaande PDF niet. Er wordt een nieuwe gemaakt met de wijzigingen die we hem hebben gevraagd. Dus als je een versleutelde PDF maakt, heb je nog steeds de originele, niet-versleutelde versie. Afhankelijk van uw omstandigheden wilt u misschien de originele PDF verwijderen of veilig opbergen.
Om een bestand te decoderen, gebruik de --decrypt keuze. Natuurlijk moet je de baasje wachtwoord om dit te laten werken. We moeten de gebruiken --password optie om het wachtwoord te identificeren.
qpdf --decrypt --password=goose.goat.gibbon secret.pdf unlocked.pdf

De “unlocked.pdf” kan zonder wachtwoord worden geopend.
qpdf is een uitstekende tool
We zijn diep onder de indruk van qpdf. Het biedt een flexibele en uitgebreide toolset voor het werken met PDF-bestanden. En het is ook nog eens erg snel.
Bekijk hun goed geschreven en gedetailleerde documentatie om te zien hoeveel meer het kan doen.