Ingesloten afbeeldingen uit een PDF-bestand extraheren in Ubuntu met behulp van PDFImages
Hoewel we al weten hoe u bestaande PDF-bestanden in Ubuntu kunt bewerken, zijn er soms momenten waarop u alle of sommige afbeeldingen in een PDF-bestand moet gebruiken. Handmatig kopiëren en plakken is zeker een optie, maar het is geen tijdbesparende, vooral als het PDF-bestand een groot aantal afbeeldingen bevat.
Er bestaat een tool, genaamd PDFImages, die het uitpakken van afbeeldingen uit PDF-bestanden een cakewalk maakt. In dit artikel bespreken we deze tool met behulp van gemakkelijk te begrijpen voorbeelden. Merk op dat alle voorbeelden in het artikel zijn getest op Ubuntu 14.04 LTS met versie 0.24.5 van de tool.
Wat is PDFImages?
Zoals al besproken, is PDFImages een opdrachtregelprogramma dat u kunt gebruiken om afbeeldingen uit een PDF-bestand te extraheren. De manpagina van de tool zegt dat het het PDF-invoerbestand leest, het scant en één Portable Pixmap (PPM), Portable Pixmap (PBM) of JPEG-bestand produceert voor elke afbeelding die het tegenkomt in het PDF-bestand.
Download en installeer
Als het hulpprogramma nog niet op uw Ubuntu-box is geïnstalleerd, kunt u het downloaden en installeren met de volgende opdracht:
sudo apt-get install poppler-utils
Naast PDFImages bevat het pakket "poppler-utils" ook verschillende andere opdrachtregelhulpprogramma's voor het ophalen van informatie uit PDF-documenten, het converteren naar andere indelingen of het manipuleren ervan.
Gebruik
Het opdrachtregelhulpprogramma PDFImages vereist in de meest eenvoudige vorm twee argumenten: invoer PDF-bestand en het pad naar de map waarin u wilt dat het hulpmiddel de afbeeldingen opslaat. In mijn geval bijvoorbeeld probeerde ik afbeeldingen uit een PDF-bestand met de naam "christmas_story.pdf" te extraheren en deze op te slaan in een map met de naam "pdfimages".
pdfimages /home/himanshu/Downloads/christmas_story.pdf / home / himanshu / Downloads / pdfimages /
Het bovenstaande commando produceerde de volgende bestanden in de doelmap:
ls / home / himanshu / Downloads / pdfimages / -000.ppm -001.ppm -002.ppm -003.ppm -004.ppm -005.ppm -006.ppm -007.ppm
Zoals u kunt zien in de bovenstaande uitvoer, begint de naam van de bestanden met een koppelteken (-) gevolgd door een cijfer. Voor degenen die zich afvragen waarom de naam begint met een koppelteken, geeft de tool u de flexibiliteit om elk woord vóór het koppelteken te prefixen, zodat u aangepaste namen voor de uitvoerafbeeldingen kunt maken. U kunt dit doen door dat specifieke woord toe te voegen aan het pad van de doelmap tijdens het uitvoeren van de opdracht.
Ik heb bijvoorbeeld het woord "image" toegevoegd aan het pad van de doelmap:
pdfimages /home/himanshu/Downloads/christmas_story.pdf / home / himanshu / Downloads / pdfimages / afbeelding
En de uitvoerbestanden die in dit geval werden geproduceerd, hadden de volgende naam:
ls / home / himanshu / Downloads / pdfimages / image-000.ppm image-001.ppm image-002.ppm image-003.ppm image-004.ppm image-005.ppm image-006.ppm image-007.ppm
Het is de moeite waard te vermelden dat, in tegenstelling tot wat de man-pagina van de tool zegt, er twee afbeeldingen worden gemaakt voor elke afbeelding in het PDF-bestand waarvan de ene leeg is en de andere bruikbaar. In mijn geval waren de oneven genummerde afbeeldingen blanco:
Als u verder gaat, kunt u ook het uitvoerformaat wijzigen van "ppm" naar "jpeg", wat u kunt doen met de optie -j
. Houd er echter rekening mee dat met deze optie alleen afbeeldingen in DCT-indeling worden opgeslagen als JPEG-bestanden - alle niet-DCT-afbeeldingen worden zoals gewoonlijk in PBM / PPM-indeling opgeslagen.
U kunt ook opgeven op welke pagina's het hulpprogramma moet worden gescand. Op deze manier krijg je alleen die afbeeldingen in de uitvoer die op deze pagina's staan. Om deze optie in te schakelen, moet u de optie -f
(gevolgd door het paginanummer) en -l
(gevolgd door het paginanummer) gebruiken om start- en eindpagina's op te geven.
Ik wilde bijvoorbeeld dat het hulpprogramma alleen afbeeldingen wist die aanwezig waren op de eerste pagina van het PDF-bestand, dus ik gebruikte de volgende opdracht:
pdfimages -f 1 -l 1 /home/himanshu/Downloads/christmas_story.pdf / home / himanshu / Downloads / pdfimages /
En in de bestemmingsdirectory werden slechts twee afbeeldingen (in totaal vier inclusief de lege) geproduceerd:
ls / home / himanshu / Downloads / pdfimages / -000.ppm -001.ppm -002.ppm -003.ppm
Conclusie
PDFImages is zeker een handig hulpmiddel als het gaat om het omgaan met PDF-bestanden en de afbeeldingen die ze bevatten, en zoals je misschien al hebt waargenomen, is het eenvoudig te leren en eenvoudig te gebruiken. Ga naar de man-pagina voor meer informatie over de tool.