[
]Вы можете использовать []pdftk[] для извлечения данных (в частности, закладок) из PDF-файлов. [
] [
][]Пример:[] с pdftk 2.02,[
] [
pdftk file.pdf dump_data_utf8 | grep '^Bookmark'
] [
]выводит список закладок, 4 строки для каждой закладки, под формой:[
] [
BookmarkBegin
BookmarkTitle:
BookmarkLevel:
BookmarkPageNumber:
] [
]где, например, уровень 1 соответствует разделам, уровень 2 - подразделам и так далее. Вместо []dump_data_utf8[
] можно использовать []dump_data[
], что даст вам цифровые сущности HTML/XML для не-ASCII символов (например, []è[
] для "и"). [
] [
]Примечание: Без []grep[
] можно получить другие интересные данные, такие как метаданные (дата создания, автор, ключевые слова, заголовок и т.д.), количество страниц и размеры каждой страницы. Эта утилита pdftk может делать и другие вещи в PDF файле(ах); подробное описание см. в ее []man page[].[
].
Вы должны определить это как простая услуга (разветвление для процесса, который завершается, когда демон уже запущен). Потому что он работает как шарм в Arch
[Unit]
Description=DavMail Exchange Gateway
Requires=network.target
After=network.target
[Service]
Type=simple
RemainAfterExit=no
ExecStart=/usr/bin/davmail /etc/conf.d/davmail.properties
ExecStop=killall davmail
[Install]
WantedBy=multi-user.target
Немного поэкспериментировав, я нашел несколько -более -оптимальную решение для использования Davmail с директивой davmail.server=true
, если вы выполнили установку вручную.
[Unit]
Description=DavMail Exchange Gateway
Requires=network.target
After=network.target
[Service]
Type=simple
RemainAfterExit=no
GuessMainPid=yes
Environment=BASE=<< YOUR_MANUAL_INSTALL_PATH_HERE >>
Environment=PROPERTIES=<< PATH_TO_davmail.properties >>
ExecStartPre=/usr/bin/bash -c "for i in ${BASE}/lib/*; do /usr/bin/systemctl set-environment CLASSPATH=${CLASSPATH}:$i ; done"
ExecStart=/usr/bin/java -Xms1G -Xmx1G -XX:ErrorFile=/var/log/davmail_errors.log -XX:-HeapDumpOnOutOfMemoryError -Djava.awt.headless=true -Dsun.net.inetaddr.ttl=60 -cp ${BASE}/davmail.jar:${CLASSPATH} davmail.DavGateway ${PROPERTIES}
ExecReload=/bin/kill -HUP ${MAINPID}
ExecStop=/bin/kill -QUIT ${MAINPID}
Restart=always
RestartSec=3
[Install]
WantedBy=multi-user.target
Те, кто делал пакетные установки, скорее всего, могут закомментировать строку «ExecStartPre», а затем установить BASE=/usr/share/java и PROPERTIES=/etc/davmail.properties.
Причины, по которым это «лучше», включают отображение вывода консоли процесса Java в местоположении системного журнала по умолчанию(/var/log/syslog
|| /var/log/messages
|| где угодно ), что упрощает отладку в случае сбоя.