__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
#!/bin/bash # # Copyright (c) 2015-2018 Samuel Thibault <[email protected]> # # Licensed under Apache License v2.0. See the file "LICENSE" for more # information. # # Make sure we have enough options if [ $# != 5 -a $# != 6 ]; then echo "ERROR: $0 jobid user name nb options [filename]" >&2 exit 1 fi NB=$4 OPTIONS=$5 FILE=$6 . /usr/share/cups/braille/cups-braille.sh #################### # Liblouis options # #################### LIBLOUIS_CONFIG="" echo "DEBUG: Input content type: $CONTENT_TYPE" >&2 # FIXME CONTENT_TYPE contains original document, not document passed as parameter ?!! setupTextRendering() { # Default rendering without translation: just reformat paragraphs RENDER_CALL="fmt -$TEXTWIDTH" # Tool to be used for the conversion case $CONTENT_TYPE in text/plain) CONVERT="" ;; text/html) CONVERT="" RENDER_CALL="lynx -width=$TEXTWIDTH -dump -stdin" checkTool lynx lynx "translating html files" ;; application/msword) CONVERT="antiword -" checkTool antiword antiword "translating MS-Word doc files" ;; application/vnd.openxmlformats-officedocument.wordprocessingml.document) CONVERT="docx2txt" checkTool docx2txt docx2txt "translating MS-Word docx files" ;; text/rtf|application/rtf) CONVERT="rtf2txt /dev/stdin" checkTool rtf2txt rtf2txt "translating RTF files" ;; application/pdf|application/vnd.cups-pdf-banner) CONVERT="pdftotext -raw - -" checkTool pdftotext poppler "translating PDF files" ;; *) echo "ERROR: unsupported content type $CONTENT_TYPE" >&2 exit 1 ;; esac } # sometimes we can't filter directly from stdin or the original file because the # tools need to seek within the file (e.g. unzip), or spaces in the path pose # problem. This can be called in such case to dump the original content to a # fresh file dumptofile() { ORIGFILE="$FILE" FILE=$(mktemp "${TMPDIR:-/tmp}/texttobrf.tmp.XXXXXX") trap -- 'rm -f "$FILE"' EXIT if [ -n "$ORIGFILE" ] then cat "$ORIGFILE" > "$FILE" else cat > "$FILE" fi } # Selected braille table if [ -n "$LIBLOUIS_TABLES" ] then if type file2brl > /dev/null then # Good, we can use liblouisutdml case $CONTENT_TYPE in text/plain) LIBLOUIS_TOOL="file2brl" CONVERT="" ;; text/html) LIBLOUIS_TOOL="file2brl -t" CONVERT="" ;; text/xml|application/xml|application/xhtml+xml|application/sgml) LIBLOUIS_TOOL="file2brl" CONVERT="" ;; application/msword) LIBLOUIS_TOOL="file2brl" CONVERT="antiword -x db -" checkTool antiword antiword "translating MS-Word doc files" ;; application/vnd.oasis.opendocument*) LIBLOUIS_TOOL="file2brl" dumptofile CONVERT="unzip -p $FILE content.xml" CHARSET=utf-8 checkTool unzip unzip "translating LibreOffice/OpenOffice OpenDocument files" ;; application/vnd.openxmlformats-officedocument*) LIBLOUIS_TOOL="file2brl" dumptofile CONVERT="unzip -p $FILE word/document.xml" CHARSET=utf-8 checkTool unzip unzip "translating MS-Word docx files" ;; text/rtf|application/rtf) LIBLOUIS_TOOL="file2brl" CONVERT="rtf2xml /dev/stdin" checkTool rtf2xml rtf2xml "translating RTF files" ;; application/pdf|application/vnd.cups-pdf-banner) LIBLOUIS_TOOL="file2brl -p" CONVERT="pdftotext -raw - -" CHARSET=utf-8 checkTool pdftotext poppler "translating PDF files" ;; *) echo "ERROR: unsupported content type $CONTENT_TYPE" >&2 exit 1 ;; esac # # text encoding # if [ "$CHARSET" = utf-8 ] then LIBLOUIS_CONFIG+=" -CinputTextEncoding=UTF8" else LIBLOUIS_CONFIG+=" -CinputTextEncoding=ascii8" fi # # Page numbers options # BRAILLEPAGENUMBER=$(getOption BraillePageNumber) case "$BRAILLEPAGENUMBER" in None) LIBLOUIS_CONFIG+=" -CbraillePages=no";; TopMargin) LIBLOUIS_CONFIG+=" -CbraillePages=yes -CbraillePageNumberAt=top -CpageNumberTopSeparateLine=yes";; BottomMargin) LIBLOUIS_CONFIG+=" -CbraillePages=yes -CbraillePageNumberAt=bottom -CpageNumberBottomSeparateLine=yes";; TopInline) LIBLOUIS_CONFIG+=" -CbraillePages=yes -CbraillePageNumberAt=top -CpageNumberTopSeparateLine=no";; BottomInline) LIBLOUIS_CONFIG+=" -CbraillePages=yes -CbraillePageNumberAt=bottom -CpageNumberBottomSeparateLine=no";; *) printf "ERROR: Unknown braille page number option '%s'\n" "$BRAILLEPAGENUMBER" >&2 exit 1 ;; esac PRINTPAGENUMBER=$(getOption PrintPageNumber) case "$PRINTPAGENUMBER" in None) LIBLOUIS_CONFIG+=" -CprintPages=no";; TopMargin) LIBLOUIS_CONFIG+=" -CprintPages=yes -CprintPageNumberAt=top -CpageNumberTopSeparateLine=yes";; BottomMargin) LIBLOUIS_CONFIG+=" -CprintPages=yes -CprintPageNumberAt=bottom -CpageNumberBottomSeparateLine=yes";; TopInline) LIBLOUIS_CONFIG+=" -CprintPages=yes -CprintPageNumberAt=top -CpageNumberTopSeparateLine=no";; BottomInline) LIBLOUIS_CONFIG+=" -CprintPages=yes -CprintPageNumberAt=bottom -CpageNumberBottomSeparateLine=no";; *) printf "ERROR: Unknown print page number option '%s'\n" "$PRINTPAGENUMBER" >&2 exit 1 ;; esac # Page numbering in top or bottom margin actually reduce the given margin if [ "$BRAILLEPAGENUMBER" = TopMargin -o "$PRINTPAGENUMBER" = TopMargin ] then TOPMARGIN=$((TOPMARGIN - 1)) TEXTHEIGHT=$((TEXTHEIGHT + 1)) fi if [ "$BRAILLEPAGENUMBER" = BottomMargin -o "$PRINTPAGENUMBER" = BottomMargin ] then BOTTOMMARGIN=$((BOTTOMMARGIN - 1)) TEXTHEIGHT=$((TEXTHEIGHT + 1)) fi PAGESEPARATOR=$(getOption PageSeparator) case "$PAGESEPARATOR" in True|true) LIBLOUIS_CONFIG+=" -CpageSeparator=yes";; False|false) LIBLOUIS_CONFIG+=" -CpageSeparator=no";; *) printf "ERROR: Unknown page separator option '%s'\n" "$PAGESEPARATOR" >&2 exit 1 ;; esac PAGESEPARATORNUMBER=$(getOption PageSeparatorNumber) case "$PAGESEPARATORNUMBER" in True|true) LIBLOUIS_CONFIG+=" -CpageSeparatorNumber=yes";; False|false) LIBLOUIS_CONFIG+=" -CpageSeparatorNumber=no";; *) printf "ERROR: Unknown page separator number option '%s'\n" "$PAGESEPARATORNUMBER" >&2 exit 1 ;; esac CONTINUEPAGES=$(getOption ContinuePages) case "$CONTINUEPAGES" in True|true) LIBLOUIS_CONFIG+=" -CcontinuePages=yes";; False|false) LIBLOUIS_CONFIG+=" -CcontinuePages=no";; *) printf "ERROR: Unknown page separator number option '%s'\n" "$CONTINUEPAGES" >&2 exit 1 ;; esac LIBLOUIS_CONFIG+=" -CcellsPerLine=$TEXTWIDTH -ClinesPerPage=$TEXTHEIGHT " RENDER_CALL="$LIBLOUIS_TOOL -Chyphenate=yes -CliteraryTextTable=en-us-brf.dis,$LIBLOUIS_TABLES,braille-patterns.cti $LIBLOUIS_CONFIG" elif type lou_translate > /dev/null then # Only liblouis, but better than nothing setupTextRendering printf "WARN: The liblouisutdml package is required for translating braille better\n" >&2 TRANSLATE="lou_translate en-us-brf.dis,$LIBLOUIS_TABLES,braille-patterns.cti" else printf "ERROR: The liblouisutdml package is required for translating braille\n" >&2 exit 1 fi else # No translation, only text rendering printf "WARN: No braille table translation was selected\n" >&2 setupTextRendering fi # Now proceeed cd $TMPDIR echo "INFO: Reformating text" >&2 ( set -o pipefail set -e if [ -z "$CONVERT" ] then printf "DEBUG: Calling $RENDER_CALL on '%s'\n" "$FILE" >&2 if [ -z "$FILE" ] then $RENDER_CALL 2> /dev/null | addmargins else < "$FILE" $RENDER_CALL 2> /dev/null | addmargins fi elif [ -z "$TRANSLATE" ] then printf "DEBUG: Calling $CONVERT | $RENDER_CALL on '%s'\n" "$FILE" >&2 if [ -z "$FILE" ] then $CONVERT | $RENDER_CALL 2> /dev/null | addmargins else < "$FILE" $CONVERT | $RENDER_CALL 2> /dev/null | addmargins fi else printf "DEBUG: Calling $CONVERT | $RENDER_CALL | $TRANSLATE on '%s'\n" "$FILE" >&2 if [ -z "$FILE" ] then $CONVERT | $RENDER_CALL 2> /dev/null | $TRANSLATE | addmargins else < "$FILE" $CONVERT | $RENDER_CALL 2> /dev/null | $TRANSLATE | addmargins fi fi ) || { printf "ERROR: text conversion pipeline $CONVERT | $RENDER_CALL | $TRANSLATE | addmargins failed\n" >&2 exit 1 } echo "INFO: Ready" >&2
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| bannertopdf | File | 14.39 KB | 0755 |
|
| brftoembosser | File | 1 KB | 0755 |
|
| brftopagedbrf | File | 2.44 KB | 0755 |
|
| c2esp | File | 34.31 KB | 0755 |
|
| c2espC | File | 30.31 KB | 0755 |
|
| cgmtopdf | File | 1.54 KB | 0755 |
|
| cmxtopdf | File | 1.54 KB | 0755 |
|
| command2esp | File | 14.31 KB | 0755 |
|
| command2foo2lava-pjl | File | 22.39 KB | 0755 |
|
| commandtoescpx | File | 14.38 KB | 0755 |
|
| commandtopclx | File | 14.38 KB | 0755 |
|
| commandtops | File | 14.38 KB | 0755 |
|
| emftopdf | File | 1.54 KB | 0755 |
|
| foomatic-rip | File | 115.48 KB | 0755 |
|
| gstopdf | File | 14.38 KB | 0755 |
|
| gstopxl | File | 14.38 KB | 0755 |
|
| gstoraster | File | 14.38 KB | 0755 |
|
| gziptoany | File | 14.38 KB | 0755 |
|
| hpcdmfax | File | 30.66 KB | 0755 |
|
| hpcups | File | 397.9 KB | 0755 |
|
| hpcupsfax | File | 30.4 KB | 0755 |
|
| hpps | File | 46.8 KB | 0755 |
|
| imagetobrf | File | 2.71 KB | 0755 |
|
| imagetopdf | File | 14.39 KB | 0755 |
|
| imagetops | File | 14.38 KB | 0755 |
|
| imagetoraster | File | 14.39 KB | 0755 |
|
| imagetoubrl | File | 2.71 KB | 0755 |
|
| imageubrltoindexv3 | File | 5.47 KB | 0755 |
|
| imageubrltoindexv4 | File | 5.54 KB | 0755 |
|
| mupdftopwg | File | 14.38 KB | 0755 |
|
| musicxmltobrf | File | 893 B | 0755 |
|
| pclmtoraster | File | 14.39 KB | 0755 |
|
| pdftopdf | File | 14.39 KB | 0755 |
|
| pdftops | File | 14.39 KB | 0755 |
|
| pdftoraster | File | 14.39 KB | 0755 |
|
| pstops | File | 58.41 KB | 0755 |
|
| pstoqpdl | File | 22.4 KB | 0755 |
|
| pstotiff | File | 393 B | 0755 |
|
| pwgtopclm | File | 14.39 KB | 0755 |
|
| pwgtopdf | File | 14.39 KB | 0755 |
|
| pwgtoraster | File | 14.39 KB | 0755 |
|
| rastertobrlaser | File | 42.32 KB | 0755 |
|
| rastertoepson | File | 22.37 KB | 0755 |
|
| rastertoescpx | File | 38.38 KB | 0755 |
|
| rastertohp | File | 18.37 KB | 0755 |
|
| rastertolabel | File | 26.37 KB | 0755 |
|
| rastertopclx | File | 42.39 KB | 0755 |
|
| rastertops | File | 14.39 KB | 0755 |
|
| rastertoptch | File | 26.37 KB | 0755 |
|
| rastertopwg | File | 18.37 KB | 0755 |
|
| rastertoqpdl | File | 70.41 KB | 0755 |
|
| rastertosag-gdi | File | 15.59 KB | 0755 |
|
| svgtopdf | File | 1.54 KB | 0755 |
|
| textbrftoindexv3 | File | 3.85 KB | 0755 |
|
| textbrftoindexv4 | File | 3.85 KB | 0755 |
|
| texttobrf | File | 8.11 KB | 0755 |
|
| texttopdf | File | 14.39 KB | 0755 |
|
| texttops | File | 1.02 KB | 0755 |
|
| texttotext | File | 14.38 KB | 0755 |
|
| vectortobrf | File | 1.57 KB | 0755 |
|
| vectortopdf | File | 1.54 KB | 0755 |
|
| vectortoubrl | File | 1.57 KB | 0755 |
|
| wmftopdf | File | 1.54 KB | 0755 |
|
| xfigtopdf | File | 1.54 KB | 0755 |
|