Jak mogę opróżnić skompresowane strumienie w pliku PDF?

3

Przeczytałem post Stackexchange, w jaki sposób znaleźć strumień danych czcionek w pliku PDF. Ten strumień, jeśli jest poprawnie zdekompresowany, najwyraźniej tworzy użyteczny plik TTF. Ale nie jestem pewien, jak go zdekompresować.

https://stackoverflow.com/questions/1922625/extract-embedded-pdf-fonts-to-an-external-ttf-file-using-some-utility-or-script

Z postu wygląda na to, że mogę skopiować dane do nowego pliku, a następnie uruchomić skrypt, aby go zdekompresować. Ale nie jestem pewien, jak bym uruchomił ten skrypt.

Czy istnieje prosty program instalacyjny dla systemu Windows, który może zaakceptować ten strumień i rozpakować go? Czy naprawdę mogę po prostu otworzyć plik PDF jako zwykły tekst, skopiować i wkleić znaki nowego strumienia do nowego pliku i zapisać go?

CreeDorofl
źródło
„Skrypt”, o którym mowa w drugim pytaniu, to kod C (nie jest to kompletny program). Potrzebujesz kompilatora C i poprawnych bibliotek oraz trochę wiedzy programistycznej, aby wszystko połączyć. Chociaż opisana metoda może działać, potencjalnie dużym zastrzeżeniem, o którym należy pamiętać, jest to, że pliki PDF nie zawsze zawierają całą czcionkę. Często zdarza się, że zawierają tylko podzbiór znaków wymagany tylko dla tego dokumentu. Więc nawet jeśli otrzymasz działające rozwiązanie, możesz skończyć z niekompletną czcionką. Zasadniczo można to sprawdzić, sprawdzając właściwości czcionki dokumentu za pomocą przeglądarki plików PDF.
Mike Fitzpatrick
@Mike Fitzpatrick Gotcha. Miałem wrażenie, że to nie będzie takie proste. Ale jeśli skrypt wykonuje jedynie dekompresję, to czy nie ma takiego programu, który specjalizuje się w niejasnych archiwach, a nie w codziennych zamkach i plikach rars?
CreeDorofl

Odpowiedzi:

2

Znalazłem sposób na zrobienie tego za pomocą swobodnie dostępnych programów Windows. Nie będzie wymagał skryptów, kompilacji ani cygwina. To kilka kroków, ale nie tak źle, jak się wydaje.

  1. Zainstaluj mupdf - http://mupdf.googlecode.com/files/mupdf-0.8.15-windows.zip i skopiuj pdf do folderu instalacyjnego mupdf. Powiedzmy, że nazywa się to cokolwiek.pdf.

  2. Otwórz wiersz polecenia / dos. Przejdź do folderu instalacyjnego mupdf. przykład: cd C: \ Program Files \ mupdf ... Jeśli to pójdzie gładko, twój monit powinien wyglądać następująco: C: \ Program Files \ mupdf> Teraz wpisz następujące polecenie: pdfextractokolwiek.pdf

Następnie w folderze programu mupdf będziesz mieć jeden lub więcej plików czcionek. Będą mieć nazwy takie jak ABCDEF + Fontname-12.cff ... W tej chwili są w bezużytecznym formacie .cff, ale naprawimy to. Polecam zmianę nazwy na coś mniej niezręcznego ... na przykład cokolwiek

  1. Więcej DOS, przepraszam. Potrzebujesz narzędzia o nazwie cfftot1.exe. Oto link: ftp://tug.org/texlive/Contents/live/bin/win32/cfftot1.exe ... Skopiuj go do folderu mupdf. Następnie wpisz: cfftot1okolwiek. Cff coś.pfb

  2. Masz teraz prawie użyteczny plik czcionek o nazwie cokolwiek.pfb. Mówię „prawie”, ponieważ zwykle pliki czcionek PFB zawierają również drugi plik, plik PFM, który zawiera informacje o odstępach. Bez tego pliku czcionka nie zostanie zainstalowana, a odstępy zostaną pomieszane. Ale czcionka nadal będzie się otwierać w edytorach czcionek, takich jak fontlab. Stamtąd możesz zapisać czcionkę do TTF lub OTF. Możesz także spróbować samodzielnie ustalić odstępy.

Jeśli nie masz edytora czcionek, możesz użyć crossfont. Crossfont może pobrać PFB i wygenerować niezbędny plik PFM, aby można było przynajmniej zainstalować i używać czcionki. link - http://crossfont.en.softonic.com/

to jest to!

CreeDorofl
źródło