pkg install, add link if package no have scripts
This commit is contained in:
23
assets/var/gnu/libreoffice/cups/.pkgdata/lib/cups/filter/office-to-pdf
Executable file
23
assets/var/gnu/libreoffice/cups/.pkgdata/lib/cups/filter/office-to-pdf
Executable file
@ -0,0 +1,23 @@
|
||||
#!/bin/sh
|
||||
# Универсальный фильтр CUPS для конвертации офисных документов в PDF через LibreOffice
|
||||
|
||||
LO_BIN="/pkg/gnu/libreoffice/core/lib/libreoffice/program/soffice"
|
||||
TEMP_DIR=$(mktemp -d)
|
||||
|
||||
INPUT_FILE="$6"
|
||||
OUTPUT_FILE="$TEMP_DIR/output.pdf"
|
||||
|
||||
# Конвертация в PDF. LibreOffice сам определит формат по содержимому файла.
|
||||
# Для электронных таблиц (xls/ods) иногда полезно явно указать фильтр,
|
||||
# но обычно --convert-to pdf работает автоматически и корректно.
|
||||
"$LO_BIN" --headless --invisible --convert-to pdf --outdir "$TEMP_DIR" "$INPUT_FILE" > /dev/null 2>&1
|
||||
|
||||
if [ -f "$OUTPUT_FILE" ]; then
|
||||
cat "$OUTPUT_FILE"
|
||||
rm -rf "$TEMP_DIR"
|
||||
exit 0
|
||||
else
|
||||
echo "ERROR: LibreOffice conversion failed for $INPUT_FILE" >&2
|
||||
rm -rf "$TEMP_DIR"
|
||||
exit 1
|
||||
fi
|
||||
@ -0,0 +1,14 @@
|
||||
# Форматы Microsoft Office
|
||||
application/vnd.openxmlformats-officedocument.wordprocessingml.document application/pdf 100 office-to-pdf
|
||||
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet application/pdf 100 office-to-pdf
|
||||
application/vnd.ms-word application/pdf 100 office-to-pdf
|
||||
application/vnd.ms-excel application/pdf 100 office-to-pdf
|
||||
|
||||
# Форматы OpenDocument (ODF)
|
||||
application/vnd.oasis.opendocument.text application/pdf 100 office-to-pdf
|
||||
application/vnd.oasis.opendocument.spreadsheet application/pdf 100 office-to-pdf
|
||||
application/vnd.oasis.opendocument.presentation application/pdf 100 office-to-pdf
|
||||
|
||||
# Текстовые и другие форматы
|
||||
application/rtf application/pdf 100 office-to-pdf
|
||||
text/csv application/pdf 100 office-to-pdf
|
||||
Reference in New Issue
Block a user