Observer — распаковка файлов из различных контейнеров

Здесь можно обсудить ваш любимый плагин.
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

Observer — распаковка файлов из различных контейнеров

Post by Ariman »

Тема для обсуждения плагина Observer.
Плагин предназначен только для распаковки файлов. Запаковка/редактирование архивов не планируется.

Хотелки/баги:

Известные проблемы:

Планируемые новые модули:

Если "ничего не работает", то прежде чем писать сюда:


Сторонние модули:
  • Dir — поддержка вывода команд dir и ls в качестве виртуального архива.
  • Inno Setup — поддержка файлов Inno Setup (сделан на основе innounp).
  • cab — распаковка нестандартных .cab архивов (Windows Update и др.)
Last edited by Ariman on Wed 04 May, 2022 14:36, edited 7 times in total.
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

Observer — распаковка файлов из различных контейнеров

Post by Ariman »

Latest post of the previous page:

Pasha_ZZZ wrote:1. Не открывает некоторые PDF (пример в аттаче).
Открываются только файлы где есть что-то внутри: аттачи или скрипты.
Pasha_ZZZ wrote:2. Как сделать, чтобы, например, на PDF срабатывал только по Ctrl+PgDn (не по Enter). В ini-файле фильтры вроде как общие и вход по Enter не запретить.
На данный момент никак, таких настроек нет. Насколько я помню, плагин не имеет информации как его вызвали, по Ctrl-PgDn или Enter.
2useven10
Posts: 5192
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 309 times

Observer — распаковка файлов из различных контейнеров

Post by 2useven10 »

Ariman wrote: Насколько я помню, плагин не имеет информации как его вызвали, по Ctrl-PgDn или Enter.
bool pgdn = (anlyze_info->OpMode & OPM_PGDN) != 0;
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

Observer — распаковка файлов из различных контейнеров

Post by Ariman »

2useven10 wrote:OPM_PGDN
Какой интересный флажочек оказывается есть. Спасибо за подсказку, не знал про него. Надо будет внедрить в плагин.
Pasha_ZZZ
Posts: 425
Joined: Mon 12 Jun, 2006 14:58
Has thanked: 1 time
Been thanked: 27 times
Contact:

Observer — распаковка файлов из различных контейнеров

Post by Pasha_ZZZ »

Ariman wrote:Открываются только файлы где есть что-то внутри: аттачи или скрипты.
Насколько я понял, не открываются файлы не только без аттачей, но и в форматах PDF-1.5+ (проверял на 1.5 и 1.6). Нашел подходящий PDF, приаттачил. Тут тоже внутри ничего нет?
Ariman wrote:На данный момент никак, таких настроек нет. Насколько я помню, плагин не имеет информации как его вызвали, по Ctrl-PgDn или Enter.
В arclite, например, маски и форматы могут действовать только по Enter, не влияя на Ctrl-PgDn.
Attachments
help.rar
(607.72 KiB) Downloaded 57 times
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

Observer — распаковка файлов из различных контейнеров

Post by HaRT »

Pasha_ZZZ wrote: Тут тоже внутри ничего нет?
Да вроде нет, документ как документ. Речь же идёт не о картинках в тексте, а о Вложениях (attachments) как это понимается в формате PDF.
Вот пример документа, в котором есть: http://wwwimages.adobe.com/content/dam/ ... sample.pdf — если его открыть штатным образом, то сразу видно, что он необычный.

PS
Кстати, вот из этой статьи понятно, что PDF Packages появились в PDF v1.7, а PDF Portfolios — ещё попозже.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Pasha_ZZZ
Posts: 425
Joined: Mon 12 Jun, 2006 14:58
Has thanked: 1 time
Been thanked: 27 times
Contact:

Observer — распаковка файлов из различных контейнеров

Post by Pasha_ZZZ »

Много в каких есть. Акробат, например, пихает в PDF файлы *.joboptions
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

Observer — распаковка файлов из различных контейнеров

Post by Ariman »

Pasha_ZZZ wrote:Акробат, например, пихает в PDF файлы *.joboptions
Если такой файл есть внутри, то pdf откроется. Было у меня пару файлов с joboptions.
PDF открывается, если парсер нашел какие-то файлы, считающиеся аттачами либо к документу, либо к отдельным страницам. Либо если есть встроенные JavaScript файлы. Если в документе только текст и картинки, то он игнорируется.
Если есть потребность в извлечении ещё чего-либо из PDF, то предложения принимаются.
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

Observer — распаковка файлов из различных контейнеров

Post by HaRT »

Ariman wrote: Если есть потребность в извлечении ещё чего-либо из PDF, то предложения принимаются.
Ну, если бы можно было вытаскивать картинки как таковые, было бы неплохо. Но это только если они отдельными картинками, а не страница целиком.
Кстати, вытаскивать целые страницы как картинки — тоже иногда полезно. Но сомневаюсь, что это легко реализовать, т.к. сторонние растеризаторы PDF известны своей глючностью.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

Observer — распаковка файлов из различных контейнеров

Post by Ariman »

HaRT wrote:Ну, если бы можно было вытаскивать картинки как таковые, было бы неплохо.
Я посмотрю что либа предлагает на эту тему.
HaRT wrote:Но это только если они отдельными картинками, а не страница целиком.
А как я их отличу? Тут уже или вытаскиваем картинки или нет (можно, конечно, это ещё отключаемым сделать).
User avatar
SlashNet
Posts: 638
Joined: Fri 20 Mar, 2009 09:43
Location: Львов
Has thanked: 16 times
Been thanked: 16 times

Observer — распаковка файлов из различных контейнеров

Post by SlashNet »

Картинки извлекать умеет "pdfimages" из "Xpdf tools". Сорцы доступны.
Я его себе навесил на F2, так как часто приходится этим пользоваться.

Для растеризации страниц использую MuPDF. У него есть консольный вариант. Небольшой и работает неплохо (но не идеально).
Last edited by SlashNet on Thu 02 Feb, 2017 22:01, edited 1 time in total.
ədиw wo⊥є ʚ o⊥ʎнdəʚədəu əɔʚ
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

Observer — распаковка файлов из различных контейнеров

Post by Ariman »

SlashNet wrote:Картинки извлекать умеет "pdfimages"
Уметь то он умеет, но тащит за собой как-то дофига зависимостей.
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

Observer — распаковка файлов из различных контейнеров

Post by HaRT »

Ariman wrote: Я посмотрю что либа предлагает на эту тему.
По правде говоря, лично для меня интереснее более общие изменения: поддержка режима Unsorted, показ кол-ва жёстких ссылок, возможность продолжения распаковки в случае ошибки; улучшение/расширение системы диагностики/вывода ошибок.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

Observer — распаковка файлов из различных контейнеров

Post by Ariman »

HaRT wrote:поддержка режима Unsorted
Фича застряла на стадии поиска максимально быстрого и удобного варианта реализации списка. :)
HaRT wrote:показ кол-ва жёстких ссылок
Теоретически плагин это уже умеет, но практически ни один модуль нужного кода не имеет. И втулить в чужой код это не так то просто.
HaRT wrote:улучшение/расширение системы диагностики/вывода ошибок
В следующей версии модули наконец научатся нормально пробрасывать ошибки в плагин, который сможет их показывать нативным для Фара путем.
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

Observer — распаковка файлов из различных контейнеров

Post by HaRT »

Ariman wrote: показывать нативным для Фара путем
А не планируется обсуждавшийся прежде псевдо-файл с диагностикой контейнера?

И вообще приятно, что Вы продолжаете развивать и хост-плагин. Спасибо!
Фар есть инструмент, а не нянька. © 2009 DrKnS
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

Observer — распаковка файлов из различных контейнеров

Post by Ariman »

HaRT wrote:А не планируется обсуждавшийся прежде псевдо-файл с диагностикой контейнера?
В ближайшее время нет. По хорошему, это фича не маленькая, а в плагине и так есть пока чем заняться.
picfar
Posts: 4
Joined: Fri 03 Mar, 2017 20:19
Has thanked: 2 times

Observer — распаковка файлов из различных контейнеров

Post by picfar »

Ariman, здравствуйте.

Понадобилось мне влезть в tbb-файл от the bat. Несколько лет назад, для Totalcmd я использовал небольшую программу. Сейчас она не работает - скорее всего из-за смены версии The Bat.
Нашел я ваш плагин, только переписанный для Total Commander - он работает, но есть один баг. Для проверки, я скачал FAR и установил ваш плагин - в нём тот-же баг.

Проблема в том, что некоторые письма не открываются. Методом исключений я понял, что проблема в каком-то странном символе в теме письма.
Открыл я tbb-файл в hex-редакторе. Темы писем там в base64-кодировке. Попробовал несколько онлайн-декодеров, но у них проблемы с русским языком. Нашел на сайте Лебедева artlebedev.ru/tools/decoder/advanced/ - он работает.
Вырезал в начале кусок, который, насколько я понял, описывает кодировку, пока не получил правильный текст:
Decode_(03.03.2017).png
Decode_(03.03.2017).png (15.9 KiB) Viewed 4485 times
было: =?windows-1251?B?xO7h8O4g7+7m4Ovu4uDy/CDt4CDO8uLl8vtATWFpbC5SdQo=?=
стало xO7h8O4g7+7m4Ovu4uDy/CDt4CDO8uLl8vtATWFpbC5SdQo=?=

Видите, в конце маленькую букву о? - это какой-то символ не из алфавита. Его значение в hex = 6F

Все письма, в которых виден этот символ в названии (теме письма) - не открываются. Вот здесь, лучше видно этот символ. Эти 2 письма по F3 не открываются. Просто ничего не происходит.
sym_(03.03.2017).png
sym_(03.03.2017).png (5.86 KiB) Viewed 4485 times
Мне эти письма не важны, но вдруг появятся письма с каким-нибудь подобным знаком.
Post Reply

Return to “Обсуждение плагинов”