Mam dokument PDF (niezaszyfrowany) z edytowalnymi polami formularza. Jednak czcionka dla tych pól jest zepsuta: brakuje niektórych glifów, więc kiedy wpisuję tekst, pojawiają się pewne luki.
Jak mogę zmodyfikować dokument PDF - nie mam dostępu do dokumentu źródłowego użytego do jego utworzenia - aby zastąpić inną czcionkę zamiast uszkodzonej ?
Omawiana czcionka to czcionka Caliban Regular firmy Adobe , którą widzę osadzoną w dokumencie. Glify, które wyświetlają się puste, to „i”, „T”, „V”; może inne, których nie odkryłem.
Mam też inny podobny dokument, korzystając Caliban, który robi wyświetlacz właściwie tym glifów, które są wymienione powyżej jako uszkodzony. Jeśli ktoś może mi powiedzieć, jak pobrać czcionkę z jednego pliku PDF i zastąpić ją istniejącym plikiem PDF , byłoby to rozwiązanie.
Obecnie używam:
- Debian GNU + Linux
- Evince (i ja również próbowałem Okulara ) do oglądania
- Poppler biblioteki dla renderowania PDF
- Emacs (lub dowolny edytor tekstowy) do edycji kodu PDF
- pdftk i OpenOffice.org zainstalowane, jeśli to pomaga
Byłbym zainteresowany w inne wolne oprogramowanie narzędzi do edycji PDF ( czy cena zerowej lub nie ), jeśli będzie pomóc w tym zadaniu.
Odpowiedzi:
Niezwykle trudno jest zamienić czcionkę osadzoną w pliku PDF. Nie znam żadnego oprogramowania typu free-as-in-speech (na licencji GPL) lub free-as-in-beer (gratis), które prawdopodobnie mogłoby to zrobić (najpierw usuwając czcionkę, a następnie ponownie osadzając czcionka podtrzymująca). Znam tylko dwa komercyjne produkty, które to robią: pdfToolbox4 callassoftware.com i PitStop Enfocus (oczywiście, są inne, ale nie jestem ich świadomy, a te dwa są tutaj liderami rynku).
Oto sposób na wyodrębnienie osadzonej czcionki z pliku PDF za pomocą wolnego oprogramowania. Pamiętaj, że możesz to zrobić tylko zgodnie z prawem, jeśli licencja na czcionkę tego nie zabrania. W repozytorium kodu źródłowego Ghostscript znajduje się narzędzie programu PostScript o nazwie,
extractFonts.ps
które może tutaj pomóc:Uruchom następujące polecenie w polu DOS (cmd.exe):
(Pamiętaj, że wyodrębnianie czcionek tutaj nie oznacza usuwania czcionek z pliku PDF, ale tworzenie plików czcionek, które są kopiami plików osadzonych w pliku PDF.)
Oto kolejny element składowy, który może przyczynić się do osiągnięcia tego, co chcesz. Możesz zdekompresować wszystkie skompresowane części / strumienie pliku PDF, aby łatwiej edytować plik za pomocą prostego edytora tekstu. (Ostrzeżenie: edytowanie plików PDF nie jest prostym, prostym zadaniem - twoje wysiłki związane z edycją będą wymagały dość znacznej wiedzy i sprytów na temat wewnętrznych formatów plików PDF.)
Ta sztuczka wykorzystuje również narzędzie z
toolbin
podkatalogu Ghostscript Subversion .Uruchom następujące polecenie w polu DOS (cmd.exe):
To polecenie spróbuje zdekompresować wszystkie strumienie skompresowane „flate” . (Jeśli masz pecha, plik będzie również zawierał strumienie przy użyciu innych metod kompresji (takich jak „zip” ), które pozostaną niezmienione przez to polecenie).
źródło