Jak mogę wyrównywać i przycinać pliki PDF wykonane ze zeskanowanych stron * automatycznie *? [duplikować]

13

Możliwa duplikat:
Jakiego darmowego oprogramowania mogę użyć do prostowania zeskanowanych obrazów

Mam kilka plików PDF zawierających skany stron książek. Skany są wykonywane z dwóch stron jednocześnie, a niektóre z nich są pochylone, dzięki czemu tekst wydaje się lekko pochylony.

Szukam narzędzia, które pozwoliłoby mi przeprowadzić automatyczną optymalizację poprzez prostowanie skanów bez utraty czytelności. Znalazłem oprogramowanie Briss Briss do przycinania skanów w celu uzyskania proporcji strony 1: 1 zamiast 2: 1, ale nie mam żadnego narzędzia do prostowania stron.

Natknąłem się na unpaper , kolejne narzędzie open source, które wydaje się idealne do tego, co chcę robić, ale to narzędzie jest tylko Linux i nie działa bezpośrednio na plikach PDF.

Każda podpowiedź jest mile widziana.

Pietro M.
źródło
1
@ los: Dlaczego to pytanie zostało zamknięte? Dlaczego ten temat powinien zachęcać do „debaty, argumentów, ankiet lub rozszerzonej dyskusji”?!?
Kurt Pfeifle
1
„szukanie narzędzia” jest w zasadzie odpytywaniem o usługi prowadzi do mało konstruktywnego bliskiego powodu @kur
losowo
1
@ los: To pytanie skłoniło mnie do przeprowadzenia badań na ten temat i znalazłem kilka interesujących opcji, aby się z tym przekonać. Najciekawszym z nich jest użycie ImageMagick i wydaje się to zaskakująco proste. Niestety zamknięcie tego nie pozwala mi opublikować mojej odpowiedzi.
Kurt Pfeifle
@ los: Zmieniłem nieco pytanie. Mam nadzieję, że teraz jest on bardziej zgodny z twoim poczuciem „konstruktywności”.
Kurt Pfeifle,
@ los: Ok, w tym przypadku lepiej zaakceptować „zamknięcie jako duplikat”.
Kurt Pfeifle,

Odpowiedzi:

9

Spójrz na prostowanie . To narzędzie wiersza polecenia. Plik zip * do pobrania * wydaje się zawierać pliki binarne dla systemów Windows, MacOSX i Linux.

Licencja to MPL (Mozilla) lub LPGL (GNU), cokolwiek wolisz.

Jedyną wadą wydaje się to, że nie zużywa plików PDF, a jedynie obrazy PNG i TIFF (AFAICS). Oznacza to, że będziesz musiał skonfigurować przepływ pracy s.th. lubić:

 PDF.orig -> PNG.orig -> PNG.deskewed -> PDF.deskewed

Nie przetestowałem go jeszcze (jeszcze), niedawno trafiłem na stronę i dodałem do zakładek.

Kurt Pfeifle
źródło
deskewudało mi się skorygować zniekształcenie związane z obrotem podczas mojego testu, ale niestety wprowadzono cienką szarą linię w miejscu oryginalnej krawędzi obrazu. Aby pozbyć się szarej ramki, przyciąłem zdjęcia z -extentopcją mogrify. Testowałem tylko na OS X, być może to złe zachowanie jest specyficzne dla platformy.
Stefan Schmidt
deskewdziała naprawdę dobrze. Moja pracy jest tak: pdfimages -all <pdf> my_imagesJBIG2 -s -p -v my_images* > outputpdf.py output > deskewed.pdfJeśli czarnymi pasami (wynik działania prostowanie) przeszkadza, niektóre przetwarzania z ImageMagick może być konieczne, jak sugeruje @StefanSchmidt
Pan Tao
5

Och, pozwól mi dodać kolejną odpowiedź. Właśnie pamiętałem netpbm . Nie korzystałem z niego od lat, ale myślę, że powinienem spojrzeć świeżo ...

netpbm to bardzo potężny zestaw narzędzi do wiersza poleceń do manipulowania obrazami graficznymi. Dostarcza prawie 300 osobnych narzędzi. Zawiera konwertery dla około 100 formatów graficznych.

Ma także narzędzie wiersza polecenia, które może obracać obrazy:

pnmrotate

I ma inne narzędzie, które próbuje odkryć kąt obróconych obrazów:

pamtilt

pamtiltzwraca zmienną liczbę przypuszczeń obrotu obrazu. Dlatego automatyczne usuwanie pochylenia obrazów powinno być w zasięgu ręki. W tym celu można napisać skrypt powłoki. Wymagałoby to różnych kroków:

  1. Konwertuj stronę PDF do formatu obrazu odpowiedniego do netpbm za pomocą Ghostscript.
  2. Służy pamtiltdo automatycznego wykrywania kąta pochylenia obrazu.
  3. Użyj, pnmrotateaby przesunąć obraz.
  4. Ponownie przekonwertuj obraz do formatu PDF.

Jeśli zapewnisz mi dostęp do małej próbki twoich plików PDF, mógłbym spróbować wymyślić skrypt powłoki, aby dokonać tego wyczynu.


(Zastanawiam się mocno, że [netpbm] nie chciał mieć tutaj tagu w superużytkowniku + przepełnienie stosu.)

Kurt Pfeifle
źródło