tło
Batch konwertuje różne pliki źródłowe wyróżnione składnią (C, SQL, Java, PHP, batch, bash) na obrazy o wysokiej rozdzielczości (600 dpi), odpowiednie dla eBooków i drukowanych książek.
Nieudane rozwiązania
Dotychczasowe próby:
- OpenOffice lub LibreOffice - Konieczne jest ponowne importowanie kodu źródłowego do dokumentu przy każdej zmianie pliku źródłowego. (Oznacza to, że rozwiązanie nie może być łatwo zautomatyzowane dla setek lub tysięcy plików źródłowych).
- enscript. Nie można łatwo zmieniać kolorów, niedokładnie renderuje wydruk, nie jest kompleksowy.
- LyX / LaTeX. Niedokładnie renderuje dane wyjściowe.
- gvim do HTML - HTMLDOC do PostScript - GhostScript do PNG. HTMLDOC ignoruje
font
tagi. - gvim do HTML - html2ps - GhostScript do PNG. Kolory RGB nie są rozpoznawane przez
html2ps
. - Firefox do PostScript - GhostScript do PNG. Nieprzyjemnie okrężny.
- gvim do HTML - OmniFormat do czegokolwiek. Darmowa wersja nieodpowiednia do przetwarzania wsadowego; wiele wyskakujących okienek reklamowych.
- świnie Nie można łatwo zmienić rozdzielczości obrazu; nie ma gvima w gamie schematów kolorów.
Najbliższe rozwiązanie
Prawie działającym rozwiązaniem jest:
- gvim do HTML - wkhtmltopdf do PDF. Będzie wymagał przetwarzania końcowego za pomocą ImageMagick ( wkhtmltoimage nie może ustawić rozdzielczości obrazu, tylko szerokość strony).
Wymagania
- Windows i Linux, ale oba są dopuszczalne.
- Darmowy lub OSS
- Tylko wiersz poleceń (odpowiedni do przetwarzania wsadowego)
- Łatwo zmieniaj schemat kolorów
- Wsparcie: PHP, wsadowy, bash, Java, JavaScript, R, C i SQL
Pytanie
Jakieś inne sposoby konwersji wyróżnionego składnią kodu źródłowego na obraz o wysokiej rozdzielczości (600 dpi)?
Dziękuję Ci!
gvim
syntax-highlighting
imagemagick
ghostscript
Dave Jarvis
źródło
źródło
wkhtmltoimage
i ustawienie szerokości strony nie wystarcza? nie można określić wysokości, ponieważ jest ona określana na podstawie zawartości HTML. Szerokość imho jest wszystkim, czego naprawdę potrzebujesz, możesz obliczyć potrzebną szerokość na podstawie liczby pikseli na cal, którą chcesz.Odpowiedzi:
Wymagania Systemowe
Następujące pakiety oprogramowania są dostępne dla systemów Windows i Linux i są wymagane dla kompletnego, działającego rozwiązania:
Ogólne kroki
Oto jak działa to rozwiązanie:
FONT
znacznikami).Skrypt generuje obrazy o tej samej szerokości dla plików źródłowych zawierających wiersze o długości poniżej 80 znaków. Pliki źródłowe z liniami o długości ponad 80 znaków dają obrazy tak szerokie, jak to konieczne do zachowania całej linii.
Instalacja
Zainstaluj komponenty w następujących lokalizacjach:
C:\Program Files\Vim
C:\Program Files\Vim\vim73\colors
C:\Program Files\wkhtml
C:\Program Files\ImageMagick
C:\Program Files\GnuWin32
Uwaga: ImageMagick ma program o nazwie
convert.exe
, który nie może zastąpićconvert
polecenia systemu Windows . Z tego powodu pełna ścieżka doconvert.exe
pliku musi być zakodowana na stałe w pliku wsadowym (w przeciwieństwie do dodawania ImageMagick doPATH
).Zmienne środowiska
Ustaw zmienną środowiskową PATH na:
Plik wsadowy
Uruchom go za pomocą:
Utwórz plik wsadowy o nazwie
src2png.bat
, kopiując następującą zawartość:Mile widziane ulepszenia i optymalizacje.
Uwaga: Najnowsza wersja wkhtmltoimage poprawnie obsługuje nadpisywanie koloru tła. Zatem teoretycznie linia do usuwania CSS dla kolorów tła nie jest już potrzebna.
źródło
czytanie strony podręcznika
wkhtmltoimage
:jeśli to nie pomoże: zhakowanie prostego rozwiązania za pomocą Qt i (w zestawie) Webkit jest dość proste.
źródło
dpi
opcja nie jest dostępna w wersji Windows.Możesz także użyć wiersza polecenia Open Office for Html-> PDF formularz konwersji:
http://www.oooninja.com/2008/02/batch-command-line-file-conversion-with.html
źródło
wkhtmltoimage
. Twoje rozwiązanie jest również teoretyczne. Jeśli utworzysz działający plik wsadowy, który dokładnie odtwarza wynikisrc2png.bat
podane w poprawnej odpowiedzi (z przezroczystymi obrazami tła) i konwertuje HTML w krótszym czasie niż użyciewkhtmltoimage
, będąc rozwiązaniem w pełni automatycznym, zachęcam do opublikowania wyników jako alternatywy . Jaka byłaby zaleta zastąpieniawkhtmltoimage
OpenOffice?