ImageMagick - Konverter PDF til PNG

ImageMagick - Konverter PDF til PNG

“PDF -er brukes vanligvis best når du vil sende/skrive ut dokumenter. PNG -er har imidlertid flere bruksområder. På nettsteder er de to mest brukte formatene PNG og JPEG. PNG -filer er også kjent som tapsfrie filer, noe som betyr at uansett hvor mye du komprimerer dem, vil de ikke miste oppløsningen. Dette kan være veldig nyttig for noen og i visse tilfeller. I denne opplæringen lærer vi å konvertere en PDF til en PNG -fil ved hjelp av ImageMagick.”

Installere Imagemagick

Vi trenger Imagemagick for dette, så først, la oss installere det:

sudo apt-get installer imagemagick

Problemer oppstått

I mitt tilfelle, da jeg skrev inn koden for å konvertere en PDF til en PNG, fikk jeg en feil - den ville ikke tillate konverteringen.

For å fikse denne feilen, må vi endre noen få ting.

Sjekk om du har Ghostscript:

GS -Versjon

Hvis du får en versjon, kan du finne i/etc/ImageMagick-6/Policy.XML.

CD /etc /imagemagick-6
Sudo Nano Policy.XML

I den bør du kommentere følgende:






I mitt tilfelle la jeg nettopp til .

Lagre den deretter og gå ut.

PDF til PNG - den enkleste måten

Så la oss prøve å gjøre vår første PDF til en PNG:

Konverter Linuxhint.PDF -DENSITET 300 -Dypte 8 -kvalitet 85 -Kolorspace RGB Linuxhint1.png

Utgangen er som følger:

Så la oss undersøke koden vi nettopp skrev:

Linuxhint.PDF: Input PDF -filen.

-Tetthet: Tettheten definerer bildeoppløsningen; det er i DPI (prikker per tomme). Som standard er denne verdien satt til 72 dpi.

-dybde: definerer dybden på bildet.

-Kvalitet: Dette er JPEG/MIFF/PNG komprimeringsverdi. En kvalitetsverdi på 1 betyr at komprimeringen er på det høyeste og bildekvaliteten er på det laveste; Hvis kvaliteten derimot er 100, betyr det at komprimeringen er på sitt laveste, men bildekvaliteten er på sitt høyeste.

-ColorSpace: brukes til å angi fargelappen på bildet

Linuxhint1.PNG: Output PNG -filnavnet

Men jeg liker ikke kvaliteten som den humret ut. Hvis jeg skulle zoome inn til første side av PNG som den humret ut, er det slik det ville se ut:

Dette (sistnevnte) er dårlig med tanke på kvalitet, så la oss prøve igjen, men denne gangen ved å forbedre kvaliteten. Kvaliteten ved å bruke den forrige metoden kan bli virkelig, virkelig fryktelig i noen tilfeller.

Den opprinnelige kvaliteten på PDF -filen var som følger, så det er dette vi prøver å gjenskape:

Forbedre kvaliteten

Så nå, la oss prøve å forbedre kvaliteten på utgangen:

Konverter -Units PixelsPerinch -Denity 288 Linuxhint.PDF -RESIZE 25% utgang.png

La oss nå zoome inn til første side (side 1), og dette er nå det vi får:

Dette er mye bedre når det gjelder kvalitet.

I dette tilfellet:

-Enheter: enheter for oppløsning av bildet. Alternativene dine er: udefinerte, pixelsperinch eller pixelspercentimeter.

-Tetthet: Her er det DPI som er på 72 som standard (det vil si hvis du ikke spesifiserer et nummer). Så vi øker tettheten med en faktor på 4.

Linuxhint.PDF: Dette er inndatafilen din. Dette er den originale PDF -filen som vi prøver å konvertere til en PNG.

-Endre størrelse: Siden vi erstatter siden, må vi nå bringe den ned til et rimelig tall. Så vi toner det ved å endre størrelse på det til 25% av den opprinnelige størrelsen.

produksjon.PNG: Dette er navnet på utdataene dine.

For å forstå hva vi nettopp gjorde, ta en titt på følgende kode:

Når jeg bruker følgende kode:

Konverter -Units PixelsPerinch -Denity 288 Linuxhint.PDF erstattet.png

Jeg får en utgang med en oppløsning på 2381 × 3368.

Når jeg på den annen side bruker jeg følgende kode (den eneste forskjellen er at den er endret):

Konverter -Units PixelsPerinch -Denity 288 Linuxhint.PDF -RESIZE 25% utgang.png

Oppløsningen av PNG er nå 595 × 842.

Hvis du vil erstatte det og beholde det slik, er det opp til deg, men poenget er at du kan endre størrelse på det hvis du vil.

Velge sider

PDF -filen som jeg tilfeldig skapte var bare for moro skyld og besto av 2 sider, men i det virkelige liv ville dette ikke være tilfelle. Jeg mener, jeg har sett PDF -er med 100 -tallet av sider. Så hva gjør du da? Hva kan du gjøre hvis du bare vil ha sider 50-51 fra et 100-siders dokument?

Så la oss begynne å velge sider. Siden PDF -dokumentet mitt bare er to sider langt, skal jeg velge side 2 og bare side 2. Så i utgangspunktet, selv om jeg har et dokument som er to sider langt, kan jeg velge å gjøre bare side 2 til en PNG.

Nå må vi huske at når koding begynner nesten alt med en 0, så side 1 indekseres med 0, og side 2 indekseres med 1.

For å velge en bestemt side, legg sidenummeret i parentes ([]) etter navnet på den originale filen du prøver å konvertere.

Konverter -Units PixelsPerinch -Denity 288 Linuxhint.PDF [1] -Resize 25% utgang.png

Sistnevnte vil bare velge side 2 (indeksert av 1 - matematikk.PDF [1]) og vil ikke berøre de andre sidene.

Hvis, derimot, la oss si at dokumentet ditt hadde 10 sider og at du ønsket side 5-8, ville du skrevet følgende:

Konverter -Units PixelsPerinch -Stendighet 288 Matematikk.PDF [4-7] -Resize 25% utgang.png

Konklusjon

PNG er et format som er mye brukt. Ved hjelp av ImageMagick kan du konvertere jevn PDF -er til PNG. Det er faktisk ganske enkelt; Du må bare huske at du virkelig trenger å bruke tetthetsbryteren. Problemet med typiske kommandoer er imidlertid kvaliteten på det som er gjengitt. Noen ganger kan det være fryktelig - kvaliteten på PNG -filen! For å forbedre kvaliteten på bildeutgangen, er det du kan gjøre å definere enhetens bryter og erstatte bildet. Sistnevnte vil helt sikkert produsere PNG -filer av god kvalitet fra PDF -filer! Imidlertid, hvis du etter det vil ha eller trenger en rimelig størrelse, så krympe den. Men husk bare å erstatte den først! Enkelt nok, ikke sant?

Glad koding!