Extrahera bilder från PDF-filer med poppler

När du behöver extrahera en bild från en PDF-fil

Sidinnehåll

Det finns ibland en verklig behov att spara bilder från en PDF utan att behöva ta skärmdumpar eller rendera upp PDF:n på skärmen. pdfimages hjälper till med det. Den här guiden är en del av vår Dokumentationsverktyg 2026: Markdown, LaTeX, PDF & Skrivningsflöden hub.

En karikyr av en man som tar en bild av diagrammet på skärmen

För att extrahera bilder från en PDF-fil i Linux är det vanligaste och mest effektiva verktyget kommandoradsverktyget pdfimages, som är en del av paketet poppler-utils.

Använda pdfimages-verktyget i Linux: Steg-för-steg-instruktioner

1. Installera pdfimages (om det inte redan är installerat):

De flesta Linux-distributioner innehåller pdfimages som standard. Om det behövs, installera det med din pakethanterare:

sudo apt-get install poppler-utils

eller för Fedora:

sudo dnf install poppler-utils

2. Öppna en terminal:

Tryck på Ctrl + Alt + T för att öppna en terminalfönster.

3. Kör pdfimages för att extrahera bilder:

Grundläggande syntax:

pdfimages  

Exempel:

pdfimages /path/to/file.pdf /path/to/output/image
  • Detta kommer att extrahera alla bilder från file.pdf och spara dem som image-000.ppm, image-001.ppm osv. i den angivna utdatakatalogen.

4. Extrahera bilder som JPEG (om önskat):

För att extrahera bilder i JPEG-format (när det är möjligt), använd -j-alternativet:

pdfimages -j /path/to/file.pdf /path/to/output/image
  • Detta kommer att spara JPEG-bilder som .jpg-filer.

5. Extrahera bilder från specifika sidor:

  • För att extrahera bilder från ett visst sidintervall, använd -f (första sidan) och -l (sista sidan):
pdfimages -f 2 -l 5 -j /path/to/file.pdf /path/to/output/image
  • Detta extraherar bilder från sidorna 2 till 5.

6. Ytterligare alternativ:

  • För att extrahera bilder som PNG: använd -png (om det stöds av din version).
  • För lösenordsbeskyddade PDF:er, använd -opw 'ownerpassword' eller -upw 'userpassword'.

Noteringar

  • Standardutdataformatet är PPM (färg) eller PBM (svartvit). Använd -j för JPEG, eller konvertera PPM/PBM-filer till andra format med hjälp av verktyg som convert från ImageMagick om det behövs.
  • Utdatafilerna numreras automatiskt och sparas i den angivna katalogen.

Sammanfattningstabell

Kommandoförslag Beskrivning
pdfimages input.pdf image Extraherar alla bilder i standardformatet PPM/PBM
pdfimages -j input.pdf image Extraherar bilder som JPEG när det är möjligt
pdfimages -f 3 -l 5 input.pdf image Extraherar bilder från sidorna 3 till 5
pdfimages -opw 'password' -j input.pdf image Extraherar bilder från en PDF som är skyddad med ägarens lösenord

Den här metoden är effektiv och fungerar för de flesta PDF:er som innehåller inbäddade bilder. Men:

  • pdfimages extraherar bilder i deras ursprungliga upplösning endast.
  • För att kontrollera utdataupplösningen, använd en PDF-renderare som PyMuPDF och ange önskad DPI när du skapar bilden.

Hur man sparar bilder från PDF med en viss upplösning.

Du kan inte ange upplösningen på extraherade bilder när du använder pdfimages, eftersom detta verktyg extraherar inbäddade bilder i deras ursprungliga format och upplösning utan att resamplera eller förändra kvaliteten. Upplösningen bestäms av hur bilderna lagrades i PDF:en, och pdfimages ger ingen möjlighet att zooma in eller ut under extraktionen.

Om du vill extrahera bilder med en viss upplösning (t.ex. rendera en sida eller en del av en sida som en bild vid en vald DPI), måste du använda en PDF-renderingsbibliotek eller verktyg som PyMuPDF (fitz). Med PyMuPDF kan du ange önskad upplösning med hjälp av dpi-parametern när du renderar en sida till en bild:

import fitz  # PyMuPDF
doc = fitz.open("input.pdf")
page = doc.load_page(0)  # första sidan
pix = page.get_pixmap(dpi=300)  # rendera vid 300 DPI
pix.save("output.png")

Detta skapar en rasteriserad bild av sidan vid den angivna DPI:n, snarare än att extrahera de ursprungliga inbäddade bilderna.

Andra verktyg som extraherar bilder från PDF:er

De bästa programmen för att extrahera bilder från PDF:er utan att förlora upplösning är de som extraherar de ursprungliga inbäddade bilderna direkt, snarare än att rendera eller resamplera dem. De bästa alternativen inkluderar:

  • Adobe Acrobat Pro: Ger en dedikerad funktion för “Exportera alla bilder”, vilket extraherar bilder i deras ursprungliga kvalitet och format som enskilda filer. Den här metoden är mycket pålitlig och bevarar exakt upplösning och kvalitet på bilderna som lagrades i PDF:en.

  • pdfimages (från XPDF/Poppler-suite): Ett gratis, öppen källkod, kommandoradsverktyg tillgängligt på Linux och andra plattformar. pdfimages extraherar alla bilder från en PDF i deras ursprungliga format och upplösning, inklusive stöd för JPEG, JPEG2000 och andra format. Det är starkt rekommenderat för användare som söker en kostnadsfri, högkvalitetsextraktionsprocess.

  • Onlineverktyg (t.ex. PDF24 Tools, PDFCandy, pdfforge): Dessa tjänster låter dig ladda upp en PDF och ladda ner de extraherade bilderna, medan upplösningen bevaras. De är bekväma för snabba uppgifter och kräver ingen installation, men kan väcka integritetsfrågor för känsliga dokument.

Sammanfattningstabell

Program/Verktyg Plattform Bevarar ursprunglig upplösning Noteringar
Adobe Acrobat Pro Windows/Mac Ja Betald, professionell, mycket pålitlig
pdfimages (Poppler) Linux/Windows Ja Gratis, öppen källkod, kommandoradsverktyg
PDF24 Tools, PDFCandy Webbaserat Ja Gratis, enkelt att använda, integritetsfrågor

Nyckelpunkt:
Använd alltid verktyg som extraherar (inte renderar eller tar skärmdumpar) bilderna. Såväl Adobe Acrobat Pro som pdfimages är branschstandarder för detta syfte, vilket säkerställer att bilderna sparas exakt som de finns i PDF:en, utan någon förlust av upplösning.

pdfutils kommandoradsalternativ

När du kör pdfimages /help kommer det att skriva något som:

$ pdfimages /help
pdfimages version 24.02.0
Copyright 2005-2024 The Poppler Developers - http://poppler.freedesktop.org
Copyright 1996-2011, 2022 Glyph & Cog, LLC
Användning: pdfimages [alternativ] <PDF-fil> <image-root>
  -f <int>       : första sidan att konvertera
  -l <int>       : sista sidan att konvertera
  -png           : ändra standardutdataformatet till PNG
  -tiff          : ändra standardutdataformatet till TIFF
  -j             : skriv JPEG-bilder som JPEG-filer
  -jp2           : skriv JPEG2000-bilder som JP2-filer
  -jbig2         : skriv JBIG2-bilder som JBIG2-filer
  -ccitt         : skriv CCITT-bilder som CCITT-filer
  -all           : ekvivalent med -png -tiff -j -jp2 -jbig2 -ccitt
  -list          : skriv ut en lista över bilder istället för att spara
  -opw <string>  : ägarens lösenord (för krypterade filer)
  -upw <string>  : användarlösenord (för krypterade filer)
  -p             : inkludera sidnummer i utdatafilnamnen
  -q             : inte skriva ut några meddelanden eller fel
  -v             : skriv ut upphovsrätt och versionsinformation
  -h             : skriv ut användning
  -help          : skriv ut användning
  --help         : skriv ut användning
  -?             : skriv ut användning

Några användbara länkar