Поддержка формата Windows Journal (JNT) за пределами платформы Windows не работает. Таким образом, я ищу способ конвертировать JNT-файлы в PDF-файлы. В настоящее время нужно либо печатать в формате PDF из журнала, либо использовать онлайн-конвертеры. Есть ли способ автоматизировать конвертацию?
4 ответа
Посмотри здесь:
REM Skript sthet unter GPLv3 by jcol11
REM man benötigt PDFCreator um es ausführen zu können
REM frisches Verzeichnis mit aktuellem Datum erstellen
rmdir %cd%\PDFs_%Date%
mkdir %cd%\PDFs_%Date%
REM alten Drucker umbenennen (keine Leerzeichen erlaubt)!!
REM HIER eigenen Standarddrucker eintragen merken
SET %alterdrucker=MeinDrucker
REM PDFCreator als Standarddrucker
rundll32 printui.dll,PrintUIEntry /y /n "PDFCreator"
REM Autosave aktivieren
REG ADD HKEY_CURRENT_USER\Software\PDFCreator\Program /f /v UseAutosave /d 1
FOR %%f IN (*.jnt) DO (
REM Filename setzen
REG ADD HKEY_CURRENT_USER\Software\PDFCreator\Program /f /v Autosavefilename /d %%f
REM Ausgabeverzeichnis setzen
REG ADD HKEY_CURRENT_USER\Software\PDFCreator\Program /f /v AutosaveDirectory /d %cd%\PDFs_%Date%\
REM PrintFile to pdf
"%ProgramFiles%\Windows Journal\Journal.exe" /p "%cd%\%%f")
REM alten Drucker wiederherstellen
rundll32 printui.dll,PrintUIEntry /y /n %alterdrucker%
Может быть, вы могли бы улучшить мой сценарий и опубликовать его снова? (Доступна новая версия под Ubuntuusers, у меня отлично работает. Он также сохраняет файл под правильным именем файла):
Ubuntuusers.de Скрипт для преобразования jnt в pdf
Если вы улучшили скрипт, пожалуйста, разместите его на ubuntuusers.de (вы можете опубликовать его на английском). Это будет держать "усилия" вместе, так что нам не нужно проверять 2 сайта на наличие новых версий.
Пост Джона указал мне на правильный ответ. Вот сценарий cygwin, который вы можете адаптировать для печати файлов JNT в PDF с помощью PDF Creator (бесплатный принтер Windows PDF). Возможно, вам придется убедиться, что PDF Creator установлен и настроен как принтер по умолчанию (по крайней мере, для файлов JNT).
#!/bin/bash
PDFDIR="pdfs"
JOURNAL_EXE="C:\Program Files\Windows Journal\Journal.exe"
AUTOSAVE_FNAME_FLAG="<REDMON_DOCNAME_FILE>"
PWD_CYGWIN_FORMAT="$(pwd -P)"
PWD_WIN_FORMAT="$(sed -e 's|/|\\|g' \
-e 's|^.cygdrive.||g' \
-e 's|^\(.\)|\1:|g' <<< $PWD_CYGWIN_FORMAT)"
AUTOSAVE_DIR_WIN_FORMAT="$PWD_WIN_FORMAT"'\'"$PDFDIR"
# set up PDFCreator autosave
REG ADD 'HKEY_CURRENT_USER\Software\PDFCreator\Program' /f /v UseAutosave /d 1
REG ADD 'HKEY_CURRENT_USER\Software\PDFCreator\Program' /f /v Autosavedirectory /d "$AUTOSAVE_DIR_WIN_FORMAT"
REG ADD 'HKEY_CURRENT_USER\Software\PDFCreator\Program' /f /v Autosavefilename /d "$AUTOSAVE_FNAME_FLAG"
for file in *.jnt; do
file_w_path="$PWD_WIN_FORMAT"'\'"$file"
eval 'cygstart ''"'"$JOURNAL_EXE"'"'' /p '"'"'"'"$file_w_path"'"'"'"
#strip 's cygstart " c:\prog... " /p ' " c:\home\... " '
sleep 0.5 # just in case
done
Чтобы использовать этот сценарий, поместите его где-нибудь в переменную PATH и выполните в каталоге, содержащем файлы jnt. Было бы легко изменить его, чтобы он использовал целевой каталог в качестве параметра.
Другие примечания: теоретически, PDF Creator (бесплатный принтер PDF для Windows) должен иметь возможность генерировать PDF-файлы из командной строки, но я не мог заставить это работать. Сумасшедшие цитаты в операторе eval
просто создают в командной строке cygstart "c:\program files ..." /p '"c:\file\to\print"'.
Вы можете настроить очередь печати (при этом не появляется диалоговое окно для печати, если вы этого не хотите).
Вы можете использовать серверную часть на основе Ghostscript вместе с RedMon или RedMon 64bit и универсальным драйвером принтера PostScript, чтобы настроить очередь печати, которая выплевывает PDF-файлы, если вы печатаете на нее.
Для получения подробной информации о требуемой процедуре установки см. Документацию RedMon.
Если это не поможет, задайте еще раз конкретный вопрос.
Вы должны посмотреть, что команда DDE (если таковая имеется) для средства просмотра журнала для печати файла (например, когда вы щелкаете правой кнопкой мыши файл журнала и получаете опцию печати в контекстном меню). Обычно это находится в реестре и может также быть таблицей "ассоциации типов файлов".
Получив эту информацию, вы можете установить драйвер принтера PDF по умолчанию, а затем установить пакетный файл для автоматизации создания PDF. В Adobe PDF вам, возможно, придется каждый раз указывать имя файла, что неоптимально, но есть и другие варианты.
Я делаю нечто подобное для Word, используя параметры командной строки ( /q /n /a /mFilePrintdefault /mFileExit
)