dateiformate_konvertieren
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| dateiformate_konvertieren [2023-04-22 15:07:37] – [ImageMagick Version 7] manfred | dateiformate_konvertieren [2023-04-22 15:29:50] (aktuell) – [mit ImageMagick] manfred | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ====== Dateiformate konvertieren ====== | ||
| + | |||
| + | Siehe auch [[Zeichensätze konvertieren]] | ||
| + | |||
| + | |||
| + | ===== IANA-Standard: | ||
| + | |||
| + | Mit CSV-Dateien kann man das Problem haben, dass das Trennzeichen zwischen den Datensätzen auch in den Daten enthalten sein darf. | ||
| + | Bei TSV-Dateien ist das verboten. Excel kann beide Formate aber zum Beispiel " | ||
| + | |||
| + | |||
| + | ===== mit LibreOffice ===== | ||
| + | |||
| + | [[LibreOffice# | ||
| + | |||
| + | |||
| + | ===== XLSX => CSV mit einem Python-Modul ===== | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | |||
| + | ==== mit Ubuntu 18.04 + python-xlrd Version 1.1.0-1 ==== | ||
| + | |||
| + | > apt install python-xlrd | ||
| + | > / | ||
| + | > ls -lha *.csv | ||
| + | |||
| + | <file bash / | ||
| + | #!/bin/bash | ||
| + | |||
| + | # XLSX => CSV | ||
| + | |||
| + | if [ -r " | ||
| + | XLSX_DATEI=" | ||
| + | # | ||
| + | XLSX_NAME=" | ||
| + | else | ||
| + | echo "Die XLSX-Datei ' | ||
| + | exit 1 | ||
| + | fi | ||
| + | |||
| + | ALLE_SHEET_NAMEN=" | ||
| + | ALLE_SHEET_NR=" | ||
| + | |||
| + | for SHEET_NR in ${ALLE_SHEET_NR} | ||
| + | do | ||
| + | SHEET_NM=" | ||
| + | echo | ||
| + | echo " | ||
| + | |||
| + | runxlrd -e' | ||
| + | do | ||
| + | if [ " | ||
| + | _Z=" | ||
| + | elif [ " | ||
| + | _Z=" | ||
| + | echo | ||
| + | fi | ||
| + | echo -n " | ||
| + | done > " | ||
| + | echo " | ||
| + | done | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== CSV => XLS mit Python ===== | ||
| + | |||
| + | Leider wird csv nicht als Eingabeformat/ | ||
| + | Deshalb hat jemand ein Python-Script geschrieben, | ||
| + | kann. Um dieses Script nutzen zu können muss man erst das Modul " | ||
| + | Dieses Modul kann Excel-97/ | ||
| + | (es steht unter BSD-Lizenz): | ||
| + | |||
| + | * [[http:// | ||
| + | |||
| + | ==== Installation ==== | ||
| + | |||
| + | # unzip -L ~/ | ||
| + | # cd pyexcelerator-0.6.4.1/ | ||
| + | # python setup.py install | ||
| + | |||
| + | ==== Anwendung ==== | ||
| + | |||
| + | # ./ | ||
| + | # ./ | ||
| + | # ./ | ||
| + | |||
| + | Die meisten machen sowas mit Excel oder OpenOffice per Hand, einige machen das auch mit Perl. | ||
| + | |||
| + | |||
| + | ===== mit Ghostscript ===== | ||
| + | |||
| + | Siehe auch hier: [[:: | ||
| + | |||
| + | # aptitude install ps2eps ghostscript | ||
| + | |||
| + | |||
| + | === Text (PDF -> PS -> TXT) === | ||
| + | |||
| + | # pdf2ps Originaldatei.pdf datei.ps | ||
| + | # ps2ascii datei.ps > datei.txt | ||
| + | |||
| + | |||
| + | == / | ||
| + | |||
| + | # | ||
| + | | ||
| + | if [ -z " | ||
| + | echo "${0} Datei1.pdf Datei2.pdf Datei3.pdf" | ||
| + | exit 1 | ||
| + | fi | ||
| + | | ||
| + | if [ -z " | ||
| + | echo " | ||
| + | exit 1 | ||
| + | fi | ||
| + | | ||
| + | if [ -z " | ||
| + | echo " | ||
| + | exit 1 | ||
| + | fi | ||
| + | | ||
| + | for _datei in ${@} | ||
| + | do | ||
| + | DATEINAME=" | ||
| + | | ||
| + | pdf2ps ${_datei} ${DATEINAME}.ps | ||
| + | ps2ascii ${DATEINAME}.ps > ${DATEINAME}.txt && rm -f ${DATEINAME}.ps | ||
| + | done | ||
| + | |||
| + | |||
| + | === Grafik (PDF -> PS -> EPS) === | ||
| + | |||
| + | In einzelne Seiten (mit einer Auflösung von 300 dpi) zerlegen: | ||
| + | # pdf2ps -r300 dokument.pdf dokument_%04d.ps | ||
| + | # ls -1 | ||
| + | dokument.pdf | ||
| + | dokument_0001.ps | ||
| + | dokument_0002.ps | ||
| + | dokument_0003.ps | ||
| + | dokument_0004.ps | ||
| + | |||
| + | |||
| + | Auf A4-Format umsetzen: | ||
| + | # ps2eps -f -s a4 dokument_0001.ps | ||
| + | |||
| + | |||
| + | Auf A4-Format umsetzen und dabei um 90 Grad rechts rum drehen: | ||
| + | # ps2eps -f -s a4 -R + dokument_0002.ps | ||
| + | |||
| + | |||
| + | Auf A4-Format umsetzen und dabei um 90 Grad links rum drehen: | ||
| + | # ps2eps -f -s a4 -R - dokument_0003.ps | ||
| + | |||
| + | |||
| + | Auf A4-Format umsetzen und dabei um 180 Grad drehen: | ||
| + | # ps2eps -f -s a4 -R ^ dokument_0004.ps | ||
| + | |||
| + | # ls -1 | ||
| + | dokument.pdf | ||
| + | dokument_0001.ps | ||
| + | dokument_0002.ps | ||
| + | dokument_0003.ps | ||
| + | dokument_0004.ps | ||
| + | dokument_0001.eps | ||
| + | dokument_0002.eps | ||
| + | dokument_0003.eps | ||
| + | dokument_0004.eps | ||
| + | |||
| + | |||
| + | === PS/EPS -> Grafik (JPEG, PNG, TIFF) === | ||
| + | |||
| + | A4-hoch im JPEG-Format (verlustbehaftet): | ||
| + | # cat dokument_0001.eps | gs -q -dNOPAUSE -g595x842 -sDEVICE=jpeg -sOutputFile=dokument_0001.jpg | ||
| + | |||
| + | |||
| + | A4-quer im PNG-Format (verlustfrei, | ||
| + | # cat dokument_0002.eps | gs -q -dNOPAUSE -g842x595 -sDEVICE=png48 -sOutputFile=dokument_0002.png | ||
| + | |||
| + | |||
| + | Diese Seite wieder ins PDF-Format umwandeln: | ||
| + | # gs -dSAFER -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=dokument_0003.pdf -f dokument_0003.ps | ||
| + | |||
| + | |||
| + | A4-quer im TIFF-Format (verlustfrei): | ||
| + | # cat dokument_0004.eps | gs -q -dNOPAUSE -g842x595 -sDEVICE=tifflzw -sOutputFile=dokument_0004.tif | ||
| + | |||
| + | |||
| + | === EPS -> PDF === | ||
| + | |||
| + | Aus verschiedenen Postscriptdateien oder eps-Dateien kann man auch wieder eine PDF-Datei machen: | ||
| + | # gs -dSAFER -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=dokument_neu.pdf -f dokument_0001.ps dokument_0002.ps dokument_0003.ps | ||
| + | |||
| + | oder | ||
| + | # gs -dSAFER -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=dokument_neu.pdf -f dokument_0001.eps dokument_0002.eps dokument_0003.eps | ||
| + | |||
| + | oder | ||
| + | # gs -dSAFER -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=dokument_neu.pdf -f dokument_*.eps | ||
| + | |||
| + | ==== Kurzanleitung ==== | ||
| + | |||
| + | === Ghostscript === | ||
| + | |||
| + | * [[http:// | ||
| + | |||
| + | # pdf2ps datei.pdf datei.ps | ||
| + | # gs -sDEVICE=jpeg -sOutputFile=datei.jpg datei.ps | ||
| + | |||
| + | |||
| + | == weitere Optionen == | ||
| + | | ||
| + | -q | ||
| + | -dBATCH | ||
| + | -pA4 | ||
| + | -sDEVICE=epswrite | ||
| + | -sDEVICE=tiffg4 | ||
| + | -sDEVICE=png | ||
| + | -sDEVICE=jpeg -dJPEGQ=75 -r600 (Qualität: | ||
| + | |||
| + | |||
| + | ===== mit ImageMagick ===== | ||
| + | |||
| + | __Seit ImageMagick Version 7 heißt das Kommando nicht mehr__ **'' | ||
| + | |||
| + | //Meine nicht repräsentativen Tests haben gezeigt, dass das konvertieren in das AVIF-Format bei einer '' | ||
| + | > magick original.webp -quality 70 ergebnis.avif | ||
| + | |||
| + | //Will man die Dateigröße von einem Bild, mit relativ schlechter Qualität, verkleinern, | ||
| + | > magick | ||
| + | |||
| + | |||
| + | FreeBSD 13.0: | ||
| + | # pkg search -o ImageMagick | ||
| + | # pkg install graphics/ | ||
| + | # convert identify -list format | ||
| + | |||
| + | Will man die Unterstützung von '' | ||
| + | ---- | ||
| + | |||
| + | Die erste Seite aus dem oben zerlegten PDF-Dokument soll hier um 90° links herum gedreht und ins A4-Format gebracht werden. | ||
| + | |||
| + | Diese PostScript-Datei soll mit einer Auflösung von 300x300dpi gelesen werden, das stellt in diesem Fall die Ausgangsqualität dar. | ||
| + | |||
| + | # convert -density 300x300 original.ps -rotate 270 -resize 595x842 ergebnis.png | ||
| + | |||
| + | oder | ||
| + | |||
| + | # convert -density 300x300 original.ps -rotate 270 -repage a4 ergebnis.png | ||
| + | |||
| + | oder | ||
| + | |||
| + | # convert -density 300x300 original.ps -rotate 270 -repage a4 -quality 95 ergebnis.png | ||
| + | |||
| + | |||
| + | Hier wird ein JPEG-Bild, im Originalformat 2479x3508, in eine PNG-Datei ins 595x842-Format (A4) konvertiert: | ||
| + | |||
| + | # convert -size 2479x3508 original.jpg -rotate 270 -resize 595x842 -quality 95 ergebnis.png | ||
| + | |||
| + | |||
| + | Das Ergebnis kann auch eine Postscriptdatei sein: | ||
| + | |||
| + | # convert -density 300x300 original.ps -rotate 270 -repage a4 ergebnis.ps | ||
| + | |||
| + | |||
| + | Auch PDF-Dateien kann man hiermit bauen: | ||
| + | # convert -density 300x300 dokument_0001.ps -density 300x300 dokument_0002.ps -density 300x300 dokument_0003.ps -repage a4 dokument_a4.pdf | ||
| + | |||
| + | |||
| + | So kann man erfahren, was in einer Bilddatei steckt: | ||
| + | # identify dokument_0001.ps | ||
| + | dokument_0001.ps PS 1191x842 1191x842+0+0 16-bit DirectClass 1.448MiB 0.070u 0:00.079 | ||
| + | |||
| + | |||
| + | Beispielskript: | ||
| + | <file bash bilder_skalieren_png.sh> | ||
| + | # | ||
| + | |||
| + | # | ||
| + | # Dieses Skript skaliert alle Bilder, die im aktuellen Verzeichnis liegen, | ||
| + | # in eine andere Größe. | ||
| + | # Es werden die Ausgabedateien im PNG-Format abgelegt. | ||
| + | # | ||
| + | |||
| + | VERSION=" | ||
| + | |||
| + | # | ||
| + | while [ " | ||
| + | case " | ||
| + | -b) | ||
| + | unset HOEHE | ||
| + | BREITE=${2} | ||
| + | shift | ||
| + | ;; | ||
| + | -h) | ||
| + | HOEHE=${2} | ||
| + | unset BREITE | ||
| + | shift | ||
| + | ;; | ||
| + | -d) | ||
| + | DENSITY=${2} | ||
| + | shift | ||
| + | ;; | ||
| + | *) | ||
| + | if [ " | ||
| + | echo "Der Parameter ' | ||
| + | fi | ||
| + | shift | ||
| + | ;; | ||
| + | esac | ||
| + | done | ||
| + | # | ||
| + | if [ -n " | ||
| + | |||
| + | echo "alle Bilder sollen eine einheitliche Breite von ${BREITE} Pixel haben" | ||
| + | |||
| + | neuesformat() | ||
| + | { | ||
| + | ZIELFORMAT=" | ||
| + | } | ||
| + | |||
| + | elif [ -n " | ||
| + | |||
| + | echo "alle Bilder sollen eine einheitliche Hoehe von ${HOEHE} Pixel haben" | ||
| + | |||
| + | neuesformat() | ||
| + | { | ||
| + | ZIELFORMAT=" | ||
| + | } | ||
| + | |||
| + | else | ||
| + | echo " | ||
| + | wenn alle Bilder eine einheitliche Breite haben sollen: | ||
| + | ${0} -b 1024 | ||
| + | |||
| + | wenn alle Bilder eine einheitliche Hoehe haben sollen: | ||
| + | ${0} -h 1080 | ||
| + | |||
| + | es kann auch die Bildpunktdichte mit angegeben werden: | ||
| + | ${0} -d 72x72 -h 1080 | ||
| + | ${0} -d 96x96 -h 1080 | ||
| + | ${0} -d 150x150 -h 1080 | ||
| + | ${0} -d 300x300 -h 1080 | ||
| + | " | ||
| + | exit 0 | ||
| + | fi | ||
| + | |||
| + | if [ -z " | ||
| + | DENSITY=" | ||
| + | # | ||
| + | fi | ||
| + | # | ||
| + | ### https:// | ||
| + | # convert -density 300x300 original.ps -resize 595x842 ergebnis.png | ||
| + | |||
| + | wandeln() | ||
| + | { | ||
| + | # identify DSCI0001.JPG | ||
| + | # DSCI0001.JPG JPEG 4320x3240 4320x3240+0+0 8-bit sRGB 5.433MB 0.000u 0:00.007 | ||
| + | |||
| + | BB=" | ||
| + | BH=" | ||
| + | |||
| + | if [ -n " | ||
| + | neuesformat ${DATEINAME} | ||
| + | echo "${1} -> ${1}_-_${ZIELFORMAT}.png" | ||
| + | convert -density ${DENSITY} ${1} -resize ${ZIELFORMAT} ${1}_-_${ZIELFORMAT}.png | ||
| + | fi | ||
| + | } | ||
| + | # | ||
| + | |||
| + | for DATEINAME in $(ls) | ||
| + | do | ||
| + | if [ -f ${DATEINAME} ] ; then | ||
| + | wandeln ${DATEINAME} | ||
| + | fi | ||
| + | done | ||
| + | </ | ||
| + | |||
| + | |||
| + | ==== Kurzanleitung - PS/EPS/PDF -> PNG ==== | ||
| + | |||
| + | === Standard === | ||
| + | # convert Datei.pdf Datei.png | ||
| + | # convert -density 72 Datei.pdf Datei.png | ||
| + | |||
| + | |||
| + | === leicht vergrößert === | ||
| + | # convert -density 100 Datei.pdf Datei.png | ||
| + | |||
| + | |||
| + | === stark vergrößert === | ||
| + | # convert -density 300x300 Datei.pdf Datei.png | ||
| + | |||
| + | === in ein Einheitsformat bringen === | ||
| + | |||
| + | # identify Bild.jpg | ||
| + | Bild.jpg JPEG 1191x842 1191x842+0+0 16-bit DirectClass 1.448MiB 0.070u 0:00.079 | ||
| + | # convert -size 1191x842 Bild.jpg -resize 720x576 -background black -compose Copy -gravity center -extent 720x576 -quality 95 Bild_720x576.png | ||
| + | |||
| + | == / | ||
| + | |||
| + | #!/bin/bash | ||
| + | BILD=" | ||
| + | NEFORMAT=" | ||
| + | BNAME=" | ||
| + | OFORMAT=" | ||
| + | convert -size ${OFORMAT} ${BILD} -resize ${NEFORMAT} -background black -compose Copy -gravity center -extent ${NEFORMAT} -quality 95 ${BNAME}_${NEFORMAT}.png | ||
| + | |||
| + | so wird das Script angewendet: | ||
| + | # / | ||
| + | |||
| + | ==== mehrseitige Projekte von XSane mit ImageMagick nach PDF ==== | ||
| + | |||
| + | Wenn man mit XSane " | ||
| + | dann wird ein Verzeichnis mit dem Projekt-Namen angelegt. | ||
| + | |||
| + | Dann scannt man alle Seiten ein, die daraufhin in diesem Verzeichnis als PNM-Dateien abgelegt werden. | ||
| + | |||
| + | Wenn diese Seiten im Querformat beschrieben wurden, dann müssen diese PNM-Dateien noch gedreht werden. | ||
| + | |||
| + | |||
| + | === PNM von Hand zu PDF === | ||
| + | |||
| + | So kann man diese PNM-Dateien zu einer mehrseitigen PDF-Datei zusammen bauen: | ||
| + | |||
| + | als erstes in das XSane-Projekt-Verzeichnis wechseln: | ||
| + | > cd ~/ | ||
| + | |||
| + | PNM -> EPS: | ||
| + | > convert image-0001.pnm image-0001.eps | ||
| + | |||
| + | PNM -> EPS mit einer Rechtsdrehung: | ||
| + | > convert image-0001.pnm -rotate 90 image-0001.eps | ||
| + | |||
| + | PNM -> EPS mit einer Rechtsdrehung und einer Verringerun der Auflösung auf 200dpi, dmit die PDF-Datei nicht zu groß wird: | ||
| + | > convert image-0001.pnm -rotate 90 -density 200x200 image-0001.eps | ||
| + | |||
| + | wenn auf diese Weise alle PNM-Dateien in EPS-Dateien umgewandelt wurden, dann kann man die mehrseitige PDF-Datei aus allen EPS-Dateien bauen: | ||
| + | > convert image-*.eps xsaneprojekt.pdf | ||
| + | |||
| + | |||
| + | === PNM per Skript zu PDF === | ||
| + | |||
| + | Hier ein Skript dafür: | ||
| + | > vi Scan2pdf.sh | ||
| + | < | ||
| + | #!/bin/bash | ||
| + | |||
| + | # | ||
| + | # PNM-Dateien zu einer mehrseitigen PDF-Datei zusammen bauen | ||
| + | # | ||
| + | |||
| + | # | ||
| + | if [ -z " | ||
| + | echo "${0} ' | ||
| + | exit 1 | ||
| + | fi | ||
| + | # | ||
| + | ### Variablen | ||
| + | # | ||
| + | # A4: 8,268 Zoll x 11,693 Zoll | ||
| + | # | ||
| + | |||
| + | # | ||
| + | # | ||
| + | DPI=" | ||
| + | # | ||
| + | |||
| + | # | ||
| + | # | ||
| + | # | ||
| + | |||
| + | ## | ||
| + | ## | ||
| + | ## | ||
| + | |||
| + | # | ||
| + | for i in ${1} | ||
| + | do | ||
| + | rm -f ${i}.eps | ||
| + | |||
| + | echo " | ||
| + | convert ${i} ${DREHUNG} ${DPI} ${i}.eps | ||
| + | done | ||
| + | # | ||
| + | |||
| + | rm -f ${2} | ||
| + | |||
| + | echo " | ||
| + | convert ${1}.eps ${FORMAT} ${2} | ||
| + | |||
| + | rm -f ${1}.eps | ||
| + | identify ${2} | head -n1 | ||
| + | ls -lha ${2} | ||
| + | </ | ||
| + | |||
| + | so könnte man es beispielsweise benutzen (erst die Einstellungen in der Datei nach Wunsch vornehmen, wie " | ||
| + | > cd ~/ | ||
| + | > .../ | ||
| + | |||
| + | |||
| + | ===== mit AbiWord ===== | ||
| + | |||
| + | * [[http:// | ||
| + | |||
| + | (Tex und AbiWord müssen installiert sein) | ||
| + | |||
| + | # abiword --to=latex datei.doc | ||
| + | # latex --interaction=batchmode datei.latex | ||
| + | # dvigif datei.dvi | ||
| + | |||
| + | |||
| + | ===== Webseite auf der Kommandozeile saugen und umwandeln ===== | ||
| + | |||
| + | ==== einfach nur saugen ==== | ||
| + | |||
| + | # wget -F --no-check-certificate https:// | ||
| + | |||
| + | |||
| + | ==== DokuWiki-Seiten saugen und als statische Webseite ablegen ==== | ||
| + | |||
| + | Das im folgenden beschriebene Vorgehen wurde an diesem Wiki getestet. | ||
| + | |||
| + | |||
| + | === zu Fuß === | ||
| + | |||
| + | Eine dynamische Seite (in diesem Fall eine " | ||
| + | |||
| + | Das ist sinnvoll, wenn man nur eine billige Webseite bei einem billigen Web-Hoster gemietet hat, auf der man bestimmte Dinge nicht tun kann, | ||
| + | weil dort praktisch nichts installiert wurde. | ||
| + | |||
| + | Dann baut man sich zu Hause seinen Web-Server mit vollem Funktionsumfang auf und konvertiert die dynamischen Seiten dann in statische, die dann ins Internet hochgeladen werden können, oder auch auf einen USB-Stick abgelegt werden können. | ||
| + | # wget -F --no-check-certificate https:// | ||
| + | |||
| + | Jetzt müssen noch die Bilder ins Verzeichnis kopiert werden. | ||
| + | |||
| + | Beim Dokuwicki könnte man das so machen: | ||
| + | # cp / | ||
| + | |||
| + | Oder man saugt sie sich auch mit wget. | ||
| + | |||
| + | |||
| + | === per Script === | ||
| + | |||
| + | Dieses Script wurde am 14. September 2013 auf Ubuntu 10.04 erstmals fertiggestellt und am 01. März 2021 auf FreeBSD 12 angepasst und erfolgreich getestet: | ||
| + | |||
| + | # vi wiki2portabel.sh | ||
| + | <file bash wiki2portabel.sh> | ||
| + | # | ||
| + | |||
| + | # | ||
| + | # | ||
| + | # Dieses Skript liest die verfügbaren seiten aus dem Dateisystem und ruft sie per HTTPS ab. | ||
| + | # Dann werden sie zu lokal aufrufbaren HTML-Dateien konvertiert. | ||
| + | # | ||
| + | # | ||
| + | |||
| + | VERSION=" | ||
| + | |||
| + | QUELLE="/ | ||
| + | ZIEL="/ | ||
| + | WIKISERVER=" | ||
| + | |||
| + | if [ ! -d " | ||
| + | echo " | ||
| + | Es konnte kein Doku-Wiki-Verzeichnis gefunden werden. | ||
| + | " | ||
| + | exit 1 | ||
| + | fi | ||
| + | |||
| + | rm -fr ${ZIEL} | ||
| + | mkdir -p ${ZIEL} | ||
| + | |||
| + | |||
| + | ### HTML-Dateien ablegen | ||
| + | # | ||
| + | cd ${QUELLE}/ | ||
| + | do | ||
| + | |||
| + | # <a href="/ | ||
| + | # <a href="/ | ||
| + | # <img src="/ | ||
| + | |||
| + | wget -F --no-check-certificate " | ||
| + | -e ' | ||
| + | -e ' | ||
| + | -e ' | ||
| + | -e ' | ||
| + | -e ' | ||
| + | -e ' | ||
| + | -e ' | ||
| + | -e ' | ||
| + | -e ' | ||
| + | -e ' | ||
| + | -e ' | ||
| + | -e ' | ||
| + | -e ' | ||
| + | -e ' | ||
| + | -e ' | ||
| + | -e ' | ||
| + | > ${ZIEL}/ | ||
| + | done | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ### CSS-Dateien | ||
| + | # | ||
| + | wget -F --no-check-certificate " | ||
| + | cat / | ||
| + | |||
| + | wget -F --no-check-certificate " | ||
| + | cat / | ||
| + | |||
| + | wget -F --no-check-certificate " | ||
| + | cat / | ||
| + | |||
| + | |||
| + | ### Dateien, auf die in den CSS-Dateien verwiesen wird | ||
| + | # | ||
| + | cat / | ||
| + | do | ||
| + | if [ -r " | ||
| + | cp ${QUELLE}/ | ||
| + | fi | ||
| + | done | ||
| + | |||
| + | |||
| + | ### eingebettete Bilder ins Ziel-Verzeichniss kopieren | ||
| + | # | ||
| + | cp -a ${QUELLE}/ | ||
| + | #cp -a ${QUELLE}/ | ||
| + | </ | ||
| + | |||
| + | Jetzt das Script starten: | ||
| + | # bash wiki2portabel.sh | ||
| + | |||
| + | Wenn das Script gelaufen ist, wird ein Verzeichnis (in diesem Fall ist es "/ | ||
| + | in dem alle nötigen Dateien für das Wiki im Offline-Betrieb liegen. | ||
| + | |||
| + | Gestartet wird das Wiki dann zum Beispiel so: | ||
| + | # firefox / | ||
| + | oder so | ||
| + | # firefox / | ||
| + | |||
| + | |||
| + | ==== Webseite auf der Kommandozeile ins PDF-Format umwandeln ==== | ||
| + | |||
| + | - Plugin saugen: http:// | ||
| + | - weil man bei Google keine XPI-Datei hoch laden kann, ist sie als ZIP-Datei hochgeladen worden. Die ZIP-Datei muss jetzt ausgepackt werden, so das man nur noch die XPI-Datei hat. | ||
| + | - Plugin installieren: | ||
| + | - Browser neu starten | ||
| + | |||
| + | # firefox -print https:// | ||
| + | |||
| + | Und jetzt per Script eine Liste abarbeiten lassen. | ||
| + | |||
| + | Als erstes erstellen wir uns eine Liste von URL's: | ||
| + | |||
| + | # vi / | ||
| + | | ||
| + | https:// | ||
| + | http:// | ||
| + | http:// | ||
| + | |||
| + | Die Liste darf auch noch viel länger sein... | ||
| + | |||
| + | Und jetzt wandeln wir diese URL's in PDF-Dateien um: | ||
| + | |||
| + | #!/bin/sh | ||
| + | | ||
| + | QUELLE="/ | ||
| + | ZIEL="/ | ||
| + | | ||
| + | cat ${QUELLE} | egrep -v ' | ||
| + | do | ||
| + | firefox -print ${URL} -printmode pdf -printfile ${ZIEL}/ | ||
| + | done | ||
| + | |||
