Рейтинг:0

Есть ли опубликованная реализация QubesOS «Преобразовать в доверенный PDF» в Ubuntu?

флаг tn

Название в значительной степени говорит об этом. Преобразовать в надежный PDF — ценный инструмент, и было бы здорово внедрить его в экосистему Ubuntu.

waltinator avatar
флаг it
Что вы подразумеваете под «доверенным PDF» и каков ввод?
Lexible avatar
флаг tn
@waltinator Пожалуйста, смотрите ссылку в моем редактировании.
флаг ar
Я посмотрел ссылку. Вы можете отправить запрос функции в Canonical, используя их сайт панели запуска. В качестве альтернативы вы можете попробовать настроить виртуальную машину только для чтения, которая делает то, что вы хотите.
Lexible avatar
флаг tn
@user68186 user68186 Можете ли вы сказать еще немного?
флаг ar
Я ответил на ваш вопрос? Если это так, пожалуйста, примите ответ. Спасибо!
Рейтинг:2
флаг ar

Эта проблема

У вас есть ненадежный файл PDF. Он может содержать вредоносное ПО, и вредоносное ПО может заразить ваш компьютер и сделать с ним ужасные вещи.

Вы хотите преобразовать этот PDF-файл в «надежный» PDF-файл, не содержащий вредоносных программ, не подвергая опасности ваш компьютер с Ubuntu.

Метод

Идея в том, чтобы установить Многопроходный на вашем компьютере с Ubuntu и используйте основную виртуальную машину (ВМ) по умолчанию, чтобы «сгладить» ненадежный PDF-файл. Процесс выравнивания PDF включает преобразование файла PDF в файл PostScript (PS), а затем преобразование файла PS обратно в PDF. Полученный PDF-файл является «доверенным», поскольку ожидается, что любое вредоносное ПО в исходном PDF-файле не переживет процесс двойного преобразования.

Наконец, после завершения преобразования виртуальная машина уничтожается. Таким образом, любые изменения, которые могут быть внесены в виртуальную машину вредоносным ПО в исходном PDF-файле, уничтожаются вместе с ним.

Доказательство концепции

Это решение основано на командной строке, где мы будем вводить (или вставлять) команды в терминал.

Сначала давайте установим Multipass на ваш компьютер с помощью следующей команды:

sudo snap установить мультипасс

Вы должны сделать это только один раз.

Остальную работу выполняет bash-скрипт. Я называю это flatten.sh. Сохраните приведенный ниже скрипт в своей домашней папке как сгладить.sh и сделать его исполняемым.

#!/бин/баш

если [-z $1]; тогда
    echo "Аргумент не задан. Допустимым аргументом является имя файла PDF.pdf в папке $HOME"
    читать -ep "Введите имя файла: " ПОЛНОЕ ИМЯ
еще
    ПОЛНОЕ ИМЯ=$1
фи
если [ ! -f $ ПОЛНОЕ ИМЯ]; тогда
    echo "Файл $FULLNAME не найден." 
    echo "Действительный аргумент - имя файла PDF.pdf в папке $HOME"
    эхо "выход..."
    выход 1
фи

INPNAME=$(базовое имя $FULLNAME)
DIR=$(имя каталога $FULLNAME)
OUTNAME="Надежный-$INPNAME"
многоходовой пуск
первичный multipass exec -- обновление sudo apt
первичный многопроходный exec -- sudo apt install ghostscript -y
первичный многопроходный exec -- cp "Home/$INPNAME" .
многопроходный исполняемый первичный -- pdf2ps "$INPNAME" временный  
многопроходный исполняемый первичный -- ps2pdf temp "$OUTNAME"
multipass exec primary -- mv "$OUTNAME" Home/
многопроходная остановка первичная  
многопроходный удалить первичный
многоходовая продувка

Допустим, у вас есть файл с именем тест.pdf что вы не доверяете. Используйте следующую команду для запуска скрипта:

./flatten.sh тест.pdf

тест.pdf должен находиться в вашей папке $HOME. Если у вас есть файл PDF в другой папке, скрипт (как он написан) не найдет его.

Вот список вещей, которые произойдут после запуска этого скрипта:

  1. Будет создана виртуальная машина
  2. На виртуальной машине будет установлена ​​минимальная версия Ubuntu.
  3. Скрипт будет установлен призрачный скрипт, необходимый для преобразования
  4. Ненадежный PDF-файл будет скопирован в виртуальное хранилище виртуальной машины.
  5. Ненадежный PDF-файл будет преобразован во временный файл PS и
  6. Временный файл PS будет преобразован в «доверенный» PDF с префиксом «Truted-».
  7. Надежный PDF-файл будет перемещен обратно в вашу домашнюю папку.
  8. ВМ будет остановлена, удалена и очищена.

Весь этот процесс займет некоторое время, особенно запуск виртуальной машины и установка призрачный скрипт.

Примечание. Если ненадежный PDF-файл очень большой, многопроходной виртуальной машине может не хватить виртуальной памяти, выделенной по умолчанию. См. документацию по многопроходному режиму, чтобы узнать, как выделить больше памяти для виртуальной машины.

Недостатки

Насколько я могу судить, нет возможности сделать снимок основной виртуальной машины в Multipass после установки Ghostscript и использовать эту сохраненную виртуальную машину для следующего раза, когда вам нужно очистить PDF-файл. Если бы это было возможно, процесс занял бы немного меньше времени.

Другой путь

Другим способом достижения аналогичных результатов может быть использование Контейнеры LDX/LXC. LXD поддерживает моментальные снимки, и пользовательский контейнер только с Ghostscript может быть немного легче, чем полноценная виртуальная машина. Однако у меня нет опыта работы с LXD/LXC.

Надеюсь это поможет

Lexible avatar
флаг tn
+1 Это потрясающий ответ! Я думаю, что у меня есть небольшое предпочтение для модели «Преобразовать в доверенный PDF» (PDF, отображаемый механизмом в виртуальной машине, который игнорирует сценарии, извлекает URL-адреса и т. д., создает растровые изображения, компилирует новый PDF-файл растровых изображений, OCR, затем возвращает «доверенный» PDF-файл в user, но разница в уязвимостях кажется близкой в ​​обоих случаях.Спасибо за это!
флаг ar
@Lexible Спасибо! В блоге, на который вы ссылаетесь, конкретно говорится, что ** Скрытый в доверенный PDF ** не распознает текст. См. «Есть два досадных недостатка, которые есть у доверенных PDF-файлов:» в блоге.В любом случае, передача сплющенного PDF-файла через OCR может привести к потере изображений, рисунков, диаграмм, а также форматирования, шрифтов и т. д. Недостатком моего подхода является то, что нет возможности сохранить снимок виртуальной машины после установки ghostscript в Multipass. . LXD/LXC может решить эту проблему, но первоначальная настройка LXD/LXC более громоздка. В любом случае это командная строка, никаких причудливых цветных рамок в графическом интерфейсе.
raj avatar
флаг cn
raj
«Процесс выравнивания PDF включает преобразование файла PDF в файл PostScript (PS), а затем преобразование файла PS обратно в PDF». Разве это не эквивалентно печати файла PDF в другой файл PDF с использованием опции «Печать в файл»? Конечно, нужно печатать на отдельной виртуальной машине...
флаг ar
@raj Он делает то же самое, но более безопасным способом. Настройка виртуальной машины с графическим интерфейсом для запуска Evince или Ocular потребует больше ресурсов (и времени, если вы хотите удалить виртуальную машину после выполнения задания и воссоздать ее в следующий раз). Не стесняйтесь писать ответ на основе графического интерфейса.
Lexible avatar
флаг tn
@ user68186 Упс! Да: вы правы насчет OCR... Я бы добавил это, если бы захотел.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.