Jpg converteren naar PDF met minimale bestandsgrootte

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • DappereDodo
  • Registratie: Juni 2001
  • Laatst online: 18-09 06:54
Sinds jaar en dag gebruik ik Canon's MP Navigator om documenten te scannen en op te slaan. Dit programma is stokoud, niet beschikbaar voor Linux en ik ben op zoek naar een alternatief. Natuurlijk zijn er opties te over, maar mijn probleem zit in de bestandsgrootte. Met MP Navigator, onder Windows, zijn de bestanden 3-10x zo klein als met elk Linux alternatief wat ik geprobeerd heb.

Zover ik kan nagaan, gebruikt MP Navigator een slimme methode waarbij het beeld wordt gespitst in een monochroom deel, wat met CCITT compressie zeer klein wordt gemaakt, en een kleur-deel, wat met simpele JPEG compressie wordt opgeslagen.

Volgens pdfimages ziet dat er zo uit voor een eenvoudige brief (met logo bovenaan, kleurenbalk onder en verder enkel tekst):
code:
1
2
3
4
page   num  type   width height color comp bpc  enc interp  object ID x-ppi y-ppi size ratio
--------------------------------------------------------------------------------------------
   1     0 image    1238  1752  rgb     3   8  jpeg   no         2  0   150   150 53.3K 0.8%
   1     1 stencil  2088  2932  -       1   1  ccitt  no         3  0   300   300 16.3K 2.2%


Ghostscript en Magick (onder Linux) maken daar ongeveer dit van:
code:
1
2
3
page   num  type   width height color comp bpc  enc interp  object ID x-ppi y-ppi size ratio
--------------------------------------------------------------------------------------------
   1     0 image    2476  3504  rgb     3   8  jpeg   no        11  0   300   300  777K 3.1%

Een factor 10 groter dus. Met de hoeveelheid bestanden die ik scan gaat dat behoorlijk in de papieren lopen (pun intended :*) ). Met GS en Magick kun je diverse compressiemethoden toepassen, maar wil je echt impact op de bestandsgrootte dan wordt de beeldkwaliteit enorm aangetast.

OcrMyPdf komt enigszins in de buurt met het volgende commando
code:
1
ocrmypdf --output-type pdfa --optimize 3 input.pdf output.pdf

maar dit is nog steeds 3x zo groot en bovendien met (beperkte) lossy compressie:
code:
1
2
3
page   num  type   width height color comp bpc  enc interp  object ID x-ppi y-ppi size ratio
--------------------------------------------------------------------------------------------
   1     0 image    2476  3504  rgb     3   8  jpeg   no        14  0   300   300  210K 0.8%


Ik heb wat zitten spelen met ChatGPT om met een Python script een monochroom bestand en een kleur bestand te maken, maar dat gaat allemaal (enorm) ten koste van de beeldkwaliteit.

Heeft iemand ideeen hoe je onder Linux dezelfde bestandsgrootte (bij dezelfde kwaliteit) kunt krijgen zoals MP Navigator onder Windows?

Het OS is overigens Fedora 41.

Alle reacties


Acties:
  • 0 Henk 'm!

  • Orion84
  • Registratie: April 2002
  • Laatst online: 08:05

Orion84

Admin General Chat / Wonen & Mobiliteit

Fotogenie(k)?

Dat 'monochroom bestand' is dat niet gewoon de (verder blanco) pagina waar dan dat plaatje op staat? Volgens mij maak je een en ander veel ingewikkelder dan het is. Die 'ccitt laag' heeft ook een totaal andere resolutie (afmeting in pixels) dan het plaatje zelf.

Een deel van het verschil zit sowieso in dat MP Navigator zo te zien een veel lagere resolutie jpeg opslaat dan je andere tooltjes doen. De waardes onder width en heigth zullen neem ik aan pixels voorstellen en zijn dubbel zo groot bij die andere tools. Waarmee je dus 4x zoveel pixels krijgt, niet gek dat je bestandsgrootte dan ook fors toeneemt. De rest van het verschil zal veel kans toch wel in de compressie instellingen zitten verwacht ik.

The problem with common sense is that it's not all that common. | LinkedIn | Flickr


Acties:
  • 0 Henk 'm!

  • DappereDodo
  • Registratie: Juni 2001
  • Laatst online: 18-09 06:54
Dat zou je zeggen, maar als ik de resolutie naar 150dpi haal met
code:
1
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.5 -dPDFSETTINGS=/ebook -dQUIET -o output2.pdf output.pdf

en dan OcrMyPdf er overheen gooi
code:
1
ocrmypdf --output-type pdfa --optimize 3 -l nld+eng output2.pdf output3.pdf

dan wordt het bestand wel kleiner (bijna net zo klein als met MP Navigator, 92.7k vs 75.5k), maar is de kwaliteit zichtbaar slechter.

code:
1
2
3
page   num  type   width height color comp bpc  enc interp  object ID x-ppi y-ppi size ratio
--------------------------------------------------------------------------------------------
   1     0 image    1238  1752  rgb     3   8  jpeg   no        14  0   150   150 80.7K 1.3%


Wel is width en height dan gelijk aan die van MP Navigator.

Acties:
  • +1 Henk 'm!

  • chrisborst
  • Registratie: April 2004
  • Laatst online: 24-09 19:23
@DappereDodo
Misschien stomme vraag, maar hoeveel pagina's scan je wel niet dan?
Want met 1TB kan je ruim 1 miljoen pagina's opslaan. En met de kosten van opslag vallen de kosten toch wel mee?

Acties:
  • 0 Henk 'm!

  • Uruk-Hai
  • Registratie: April 2003
  • Laatst online: 12:12
DappereDodo schreef op maandag 18 augustus 2025 @ 16:30:
Met MP Navigator, onder Windows, zijn de bestanden 3-10x zo klein als met elk Linux alternatief wat ik geprobeerd heb.
Ik scan zelf ook weleens een documentje op Linux en kwam er pas laat achter dat simple-scan (standaard documentscanner in Linux Mint) in de instellingen een schuifbalkje heeft waarmee je de gewenste bestandsgrootte in kan stellen.

Als jij dat al geprobeerd hebt en de resultaten daarvan niet bevredigend vind zou je ook nog naar Vuescan kunnen kijken.

Verder kun je online nog spelen met PDFCandy.