FMFan.ru

РЕДАКТИРОВАНИЕ => Утилиты => Тема начата: SerEga от 08 марта 2025, 23:14:57

Название: FMFan PDF Librarian Beta
Отправлено: SerEga от 08 марта 2025, 23:14:57
FMFan PDF Librarian Beta

(https://i.imgur.com/wLRdrOp.png)

Если вы ведете историю на нашем форуме или просто любите читать работы других пользователей, то у меня для вас новость. FMFan PDF Librarian Beta – инструмент для конвертации форумных тем из раздела Истории Менеджеров в формат PDF.

Зачем это нужно?
После завершения истории её можно сохранить в удобном формате PDF, чтобы:
-Не бояться падения форума или потери базы данных.
-Защититься от исчезновения картинок с фотохостингов.
-Хранить полное оформление темы с всеми изображениями, ссылками и стилями так, как они выглядели в момент скачивания.
-Легко читать историю оффлайн – на телефоне, планшете или любом другом устройстве.

PDF-документы будут сохранены в защищенном хранилище, охраняемом покруче Форт Нокса.

Как пользоваться FMFan PDF Librarian Beta

(https://i.imgur.com/LZVnsH3.png)

После запуска программы вы увидите три основные секции:

1. Ввод данных (левая часть интерфейса)
Здесь нужно указать параметры для загрузки темы. Используйте следующий формат:

name: Название файла 
start: https://forum.fmfan.ru/index.php?topic=1234.0 
end: https://forum.fmfan.ru/index.php?topic=1234.165 

name – это то, как будет называться итоговый PDF.
start – это первая страница темы.
end – это последняя страница темы.

Можно добавить несколько тем сразу – просто разделите их пустой строкой.

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

2. Настройки (центр интерфейса)
Здесь вы можете:
Задать таймаут (оптимально 3-5 секунд, чтобы страница прогрузилась, но мне хватало 1 секунды).
Указать количество прокруток страницы, если история длинная (при тестах достаточно было 35 прокруток, но я задал максимум 100).
Ввести логин и пароль от форума (если история содержит изображения, которые хостятся на форуме, то проход в гостевом режиме не сработает - картинки не втянутся в документ).
Выбрать папку для сохранения PDF.
Включить или отключить фоновый режим браузера (если выключите фоновый режим, то откроется окно хрома и вы будете вынуждены наблюдать как робот ходит по страницам, прокручивает их и прочие не менее интересные действия. Пока что эта функция нужна мне для отладки - в дальнейшем отключу).

3. Лог выполнения (правая часть интерфейса)
Здесь будет отображаться статус скачивания – какие страницы загружены, были ли ошибки, где сохранён итоговый файл. Тоже нужен для отладки и в будущем или уберу полностью, или оставлю только действительно важные сообщения и оповещения.

ВАЖНО: Процесс занимает ВРЕМЯ!
Не паникуйте, если программа "Не отвечает" после запуска. Это нормально – WebDriver может слегка "подтупливать" и создавать эффект зависания. Просто подождите завершения работы приложения. Вы увидите сформированный документ или несколько в вашей целевой папке.

Почему это долго?
1) Форум не загружает всю страницу и изображения сразу – скрипт имитирует прокрутку, чтобы подгрузить весь контент.
2) Конвертация веб-страниц в PDF – это не мгновенный процесс.

Но! Для одной истории это нужно делать всего один раз, так что это терпимо.  :pirat:
И да, как я говорил выше, можно сразу обработать несколько тем – просто введите их через пустую строку в формате:

name: История 1 
start: https://forum.fmfan.ru/index.php?topic=1000.0 
end: https://forum.fmfan.ru/index.php?topic=1000.60 

name: История 2 
start: https://forum.fmfan.ru/index.php?topic=2000.0 
end: https://forum.fmfan.ru/index.php?topic=2000.150
 

Что еще в планах?
На данный момент это бета-версия, и некоторые функции еще в разработке. В планах:

1) Автообновление WebDriver Chrome – сейчас при обновлении браузера может потребоваться ручная установка новой версии драйвера. Планирую сделать автоапдейт.
2) Опция создания обложки для PDF документа – программа будет автоматически брать первое сообщение темы и делать из него обложку. Поэтому авторам, которые захотят обложку для своей истории будет рекомендовано оформлять первый пост в стиле заглавного экрана: можно использовать крупный логотип или отформатированный текст. Эта функция будет настраиваемой – можно будет включить или выключить по желанию.
3) Иногда втягиваются нежелательные элементы, например, футер. Не смертельно для Беты, но я планирую избавиться от этого артефакта.

Что еще можно улучшить?
Если у вас есть идеи по улучшению – пишите в этой теме.
Если есть идеи для фичи.
Как улучшить интерфейс.
Есть идеи по оформлению PDF или иконке приложения.

Я постараюсь реализовать, что сумею.

Скачать FMFan PDF Librarian Beta:
Cсылка на скачивание (https://drive.google.com/file/d/1XrlgCDX0WC0zvgxBHXfRSfxjAMQhC3zK/view?usp=sharing).
Обработанная программой история "Илвамаддалена. Сардиния зовет" (https://drive.google.com/file/d/1VxPHCsrxcm-HniRuKz_D6zo5lJ8fniJg/view?usp=sharing) в PDF.

(https://i.imgur.com/ZU7lJwz.png)

Короткое видео. Я уже переделал некоторые опции, но для того, чтобы понять как работает инструмент - подойдет.
https://youtu.be/6p0s9v6dQPc?si=hx3Z8QNiVA7b880p

Попробуйте, делитесь впечатлениями и может быть сделаем жизнеспособный инструмент, который поможет сохранить истории и даже сделать их удобочитабельными оффлайн.
Тэгну администраторов, модераторов историй и пользователей, которые активно рекомендуют мне как улучшить свои повествования :)
@siborg @Nemo @Trabelsi @N1ghtW01f @Scipione @Africanus
Название: Re: FMFan PDF Librarian Beta
Отправлено: Trabelsi от 08 марта 2025, 23:44:54
Снимаю шляпу! Это очень круто :good: Обязательно попробую чуть позже со своей португало-африканской историей. Так действительно можно сохранить истории для будущих поколений и не бояться того что хостинг ляжет, картинки исчезнут и т.д. А то сколько классных историй исчезло со старого форума...
Название: Re: FMFan PDF Librarian Beta
Отправлено: Scipione от 09 марта 2025, 00:06:05
Я что-то рекомендовал?) обычно наоборот , почитаю твои истории и появляется желание написать что-то самому))

Респект за проект! Жаль конечно, что такой гениальной штуки не было, когда стала сыпаться fmfan/borda, но это прям новое слово в индустрии ФМ историй :good:
Название: Re: FMFan PDF Librarian Beta
Отправлено: SerEga от 09 марта 2025, 00:17:06
Цитата: Scipione от 09 марта 2025, 00:06:05Я что-то рекомендовал?) обычно наоборот , почитаю твои истории и появляется желание написать что-то самому))

Респект за проект! Жаль конечно, что такой гениальной штуки не было, когда стала сыпаться fmfan/borda, но это прям новое слово в индустрии ФМ историй :good:

"Хорошая мысля приходит через ИКС лет" :)
Я попробовал читать с планшета - довольно удобно отображается ПДФ. С электронной книги не все скриншоты достаточно контрастны, но разобрать что к чему можно.
Название: Re: FMFan PDF Librarian Beta
Отправлено: siborg от 09 марта 2025, 12:37:43
Предложение для повышения дружественности интерфейса.
Сделать внесение исходных данных по Истории через отдельный фрейм/мастер/модальное окно, в котором начальная страница, финальная страница и название выходного файла можно вставить копипастом: типа такого
Диалог.PNG
В идеале, можно при нажатии кнопки <Добавить> сделать валидацию ссылок на страницы форума, чтобы исключить неправильный копипаст.
Название: Re: FMFan PDF Librarian Beta
Отправлено: siborg от 09 марта 2025, 12:43:55
Цитата: SerEga от 08 марта 2025, 23:14:57-Легко читать историю оффлайн – на телефоне, планшете или любом другом устройстве.
Это очень крутое дело, потому что как раз без Инета что-то хочется почитать ( в паровозах-самолётах для людей, активно перемещающихся в пространстве, как я, например)... А когда есть Инет, то находится масса других соблазнов  :mosking: 

p.s. Вообще, в перспективе, это приложение можно сделать универсальным онлайн-сервисом для разных форумов/сайтов, где требуется авторизация. Потому что существующие подобные конвертеры HTML в PDF этого не умеют: они выдают страницу авторизации и всё. А если сохранить страницу на комп и её скормить конвертеру, то теряется все аттачи и css-стили.
А так, перед самолётом-паровозом, зашел на форум, конвертнул себе что хочется почитать на телефон/планшет/ноут и читай на здоровье в дороге. В подфоруме Историй можно будет в правый сайдбар блок со скриптом запилить, чтобы в пару кликов читаемую историю качнуть в PDF. Ууууу, у меня фантазия сразу попёрла.  :dance:

Так, что дерзайте, коллега, это перспективная штука.  :moil:
Название: Re: FMFan PDF Librarian Beta
Отправлено: SerEga от 09 марта 2025, 19:49:50
Отличные идеи. Пока что я делаю это для форума конкретно нашего, но тоже подумываю о масштабировании.
Сегодня я далеко не продвинулся потому что решил переделать приложение - сделать его модульным, чтобы было проще редактировать и тестировать, а то в одной простыне, где функционал авторизации сопряжен с интерфейсом это не очень удобно было делать. Пока выпилил еще несколько артефактов, но пока это не сильно заметно в результатах вывода так что Бета по ссылке - последняя доступная для тестов версия.

Какие у меня появились мысли что улучшить/добавить. Некоторые могут и не пригодиться, а некоторые я совершенно не знаю как реализовать, но все же.

1. Автоматическое создание оглавления в ПДФ, привязанное, например, к тэгу size.
2. Объединение связанных тем. Например, чтобы можно было подать несколько тем последовательно, если в отдельных темах созданы разные части истории. Не часто такое видел на форуме, впрочем.
3. Возможность  конвертировать только посты автора темы и помеченные определенным маркером. Если автор помечает сообщение определенным тегом/маркером, то чтобы только эти сообщения оставались - без комментариев других пользователей и ответов автора, когда он отвечал отдельными постами и не маркировал, что это часть истории. Тогда получим чистый текст произведения и ничего лишнего. - DONE
4. Лог заменить на прогресс бар
5. Сделать функцию запоминания последних настроек. Сохранять количество скроллов, таймаут, место сохранения, логин-пароль, чтобы не вводить в следующий раз.
6. Добавить кнопку "Создать задачу" и по нажатии всплывающее окно куда вводятся имя исходящего ПДФ, ссылка начала скана истории и конца (@siborg) - DONE
7. Превью обложки. Можно сделать быстрый скриншот после логина. Без прокручиваний и сохранения в пдф сохранять картинку, чтобы можно было посмотреть как выглядит первая страница и подредактировать при необходимости перед полным проходом и превращением в ПДФ.
8. Сейчас нужно задавать стартовую и последнюю страницу - можно переделать, чтобы проходчик делал это сам и шел до конца темы. Хотя теряется гибкость - может быть кто-то не хочет сохранять все страницы темы.
9. Титульная страница. Уже писал об этом выше, так что просто чтобы закрепить.
10. В конце концов можно будет попробовать реализовать библиотекаря через Телеграм-бота и не начал я так делать исключительно потому что никогда подобным не занимался. Но учитывая то, что я переделал сейчас программу разделив ее на модули, то будет быстрее ее трансформировать под Телеграм. Тут возникнет вопрос где хостить, но если инструмент окажется полезным, теоретически администрация может решить, что можно выделить несколько десятков мегабайт у себя.
Название: Re: FMFan PDF Librarian Beta
Отправлено: siborg от 09 марта 2025, 23:31:05
Цитата: SerEga от 09 марта 2025, 19:49:50Сейчас нужно задавать стартовую и последнюю страницу - можно переделать, чтобы проходчик делал это сам и шел до конца темы.
Я не полностью имею представление, как скрипт шагает по страницам, но История всегда начинается с первого поста. Поэтому, если скрипт умеет вычислить первую страницу, то можно задавать только финишную.

Цитата: SerEga от 09 марта 2025, 19:49:50Тут возникнет вопрос где хостить,
Наш форум крутится в VDS под Ubuntu 22.04 на timeweb.cloud (https://timeweb.cloud/). Python там есть. Но если я правильно понял, приложению еще нужны дополнительные библиотеки. Я не уверен, что у меня получится запихнуть всё нужное и по мере необходимости обновлять. ИМХО, проще упаковать приложение в docker-контейнер и запилить в сервис Apps на том же  timeweb.cloud (https://timeweb.cloud/). Я так сделал сайт товарищу.
Минимальная конфигурация (за глаза хватит на приложение) < 1 CPU 3.3 ГГц, 1ГБ ОЗУ, 15ГБ NVMe > стоит всего 188 ₽/мес.
Очень удобная штука: указываешь свой репозиторий с Dockerfile, Apps собирает контейнер и запускает его на бесплатном служебном домене.
Название: Re: FMFan PDF Librarian Beta
Отправлено: SerEga от 12 марта 2025, 02:14:17
Пара апдейтов. В том числе для себя, чтобы фиксировать прогресс.

Добавил в функционал формирование PDF только из авторских постов, в которых присутствует тэг size. Таким образом все сообщения других пользователей и автора, но без использования тэга будут игнорироваться.

(https://i.imgur.com/FQiFZuE.png)


Также убрал данные об авторе поста, которые располагаются на форуме слева от текста - этот блок лишний и теперь текст расположен на всю ширину страницы.

Примерно так выглядит авторская версия.
(https://i.imgur.com/3QRUh6H.png)
Название: Re: FMFan PDF Librarian Beta
Отправлено: SerEga от 13 марта 2025, 00:24:12
Как говорил один из персонажей "Футурамы" профессор Фарнсфорт: "Хорошая новость".

Наш библиотекарь на стадии релиз-кандидата - инструмент стал более удобным, получил новые функции и стал формировать значительно улучшенные версии историй для чтения оффлайн и хранения для будущих поколений.

Что нового в релиз-кандидате.

Улучшенный интерфейс:

(https://i.imgur.com/wLRdrOp.png)

(https://i.imgur.com/5ZMfIaj.png)

Авторская версия PDF:
Формируется только из сообщений автора темы и тех постов, которые содержат тег [size] (даже если внутри тега ничего нет). Автор может сам определить какие сообщения должны быть в "чистой" истории и отсеять комментарии читателей и свои, которые являются, например, ответами читателям.

Авторы или модераторы могут редактировать старые истории, добавляя этот тег в ключевые посты историй, чтобы они попали в финальную версию PDF.

Улучшено качество выходных PDF и для авторской, и для полной версий:
Теперь оформление читается лучше – улучшено отображение текста, ссылок и изображений.

Все еще присутствуют артефакты форума, но их становится меньше с каждой версией.

Главные недостатки, над которыми еще предстоит поработать:

(https://i.imgur.com/CFdnW9J.png)

Ссылка для скачивания. (https://drive.google.com/file/d/11NNBC_RyYnHrVcYjYozTmOqoeTjesq09/view?usp=sharing)

Илвамаддалена. Сардиния зовет.
- авторская версия (https://drive.google.com/file/d/1RuLk2k9fXa88QfwaNlxA8o1U2ot6Rtpz/view?usp=sharing)
- полная версия (https://drive.google.com/file/d/19_sXHsYnliOUKtjzYCQbtazEd5OcVWLk/view?usp=sharing)
Название: Re: FMFan PDF Librarian Beta
Отправлено: Myasotryas515 от 13 марта 2025, 11:50:17
Сотни тысяч лучей благодарности автору, - о чудо, оно работает. Протестировал на вебархиве и по такому случаю выкладываю одну (https://vk.com/s/v1/doc/LOqByxxgY3ZlEGISyMJtD0xjG9GfjGSX0awkvcvD16gVArWn6DQ) из старинных историй некогда любимого всеми Жмана (благо, она сохранилась в полном объёме). Теперь планы наполеоновские: выкачать многое из классики жанра старого форума и мои любимые истории. Вот только куда их выкладывать?




Название: Re: FMFan PDF Librarian Beta
Отправлено: SerEga от 13 марта 2025, 12:51:49
Цитата: Myasotryas515 от 13 марта 2025, 11:50:17Сотни тысяч лучей благодарности автору, - о чудо, оно работает. Протестировал на вебархиве и по такому случаю выкладываю одну (https://vk.com/s/v1/doc/LOqByxxgY3ZlEGISyMJtD0xjG9GfjGSX0awkvcvD16gVArWn6DQ) из старинных историй некогда любимого всеми Жмана (благо, она сохранилась в полном объёме). Теперь планы наполеоновские: выкачать многое из классики жанра старого форума и мои любимые истории. Вот только куда их выкладывать?

Супер!
Полагаю, что можно где-то на уровне Библиотеки создать сообщение, в котором в таблице будут находиться ссылки на выкачанные истории с указанием версии ФМ, названия, автора.
Далее пользователи в своих ответах на тему могут выкладывать ссылку на ПДФ-историю в своем хранилище, а админ уже втягивать эти ПДФ-истории в (назвевем его так) официальное хранилище и редактировать первое сообщение, добавляя ПДФ-историю в таблицу.
Такое официальное хранилище имеется (или же не проблема организовать), о чем в теме обсуждения результатов голосования за лучшую историю говорил @siborg
(https://i.imgur.com/hJULVaz.png)
Название: Re: FMFan PDF Librarian Beta
Отправлено: siborg от 14 марта 2025, 19:31:25
Цитата: Myasotryas515 от 13 марта 2025, 11:50:17Протестировал на вебархиве и по такому случаю выкладываю одну (https://vk.com/s/v1/doc/LOqByxxgY3ZlEGISyMJtD0xjG9GfjGSX0awkvcvD16gVArWn6DQ) из старинных историй
Круто, так реально можно какую-то часть Историй вытащить из небытия. Очередной пример, как одна хорошая идея, упавшая на благодатную почву, прорастает целым букетом ( простите за высокий слог  :mosking: ).
Цитата: SerEga от 13 марта 2025, 12:51:49Вот только куда их выкладывать?
Цитата: SerEga от 13 марта 2025, 12:51:49Полагаю, что можно где-то на уровне Библиотеки создать сообщение, в котором в таблице будут находиться ссылки на выкачанные истории с указанием версии ФМ, названия, автора.
Давно сделан под такого вида цели аккаунт на MediaFire, который доступен модерам форума. Я запросил модераторов (https://fmfan.ru/index.php?msg=96756) раздела Историй определиться с местоположением подфорума/темы для PDF-версий историй, и будем оформлять туда.
Название: Re: FMFan PDF Librarian Beta
Отправлено: SerEga от 18 марта 2025, 19:47:07
(https://i.imgur.com/wLRdrOp.png)

Приложение FMFan PDF Librarian получило обновление. Я постарался сделать его более удобным, быстрым и стабильным. Ниже список ключевых изменений:

1. Многопоточность. Теперь приложение не зависает после запуска когда веб-драйвер работает в фоновом режиме.
2. Убрана возможность отключения фонового режима. Убрал настройку, которая позволяла отключать фоновый режим работы веб-драйвера.
3. Производительность выросла более чем в 5 раз. Благодаря оптимизации кода и улучшению алгоритмов, приложение теперь работает значительно быстрее. Например, на тесте задачи, которые на предыдущей версии обрабатывались за 6 минут, теперь завершаются за 1 минуту.
4. Убран лог. Чтобы интерфейс стал более удобным и менее перегруженным, я убрал лог из правой части окна.
5. Добавлен прогресс-бар. Теперь вы можете видеть прогресс выполнения задач. Пока что он работает по количеству задач, поэтому при одной задаче он быстро мигает. Так что я еще поработаю над его улучшением.

(https://i.imgur.com/doqj5Ba.png)

6. Индикатор работы в правом нижнем углу В правом нижнем углу появился индикатор, который показывает, что приложение работает. Это полезно, чтобы понять, что процесс загрузки и обработки данных идет.
7. Всплывающее окно о завершении задач После завершения всех задач, приложение покажет всплывающее окно с уведомлением.

(https://i.imgur.com/jVdOXrv.png)


В планах:

Скачать (https://drive.google.com/file/d/1I7iDZJtWiYy9CUJF6YK6ZgmSq9Nk706J/view?usp=sharing) обновление.
Название: Re: FMFan PDF Librarian Beta
Отправлено: Single_scouse от 18 марта 2025, 19:51:15
Выглядит как что-то, что может помочь автору не потеряться в повествовании сквозь время и посты. А так идея классная!
Название: Re: FMFan PDF Librarian Beta
Отправлено: siborg от 19 марта 2025, 05:37:32
Цитата: SerEga от 18 марта 2025, 19:47:075. Добавлен прогресс-бар. Теперь вы можете видеть прогресс выполнения задач. Пока что он работает по количеству задач, поэтому при одной задаче он быстро мигает. Так что я еще поработаю над его улучшением.
Поставь 1-2 секунды задержку по таймеру перед обновлением... Или можно перед обновлением проверять по системному таймеру, сколько времени прошло с прошлого... На производительность сильно не повлияет, а на глаз приятнее будет.
Название: Re: FMFan PDF Librarian Beta
Отправлено: SerEga от 03 апреля 2026, 03:14:27
Не прошло и полгода — наконец-то я дособрал "Библиотекаря".

Что изменилось в новой версии:

• слегка переработан интерфейс;
• теперь не нужно вставлять ссылку на последнюю страницу темы — достаточно просто указать количество страниц, которые нужно упаковать;
• PDF больше не втягивает форумную графику и лишние элементы оформления — в файл попадает только то, что находится внутри сообщений, поэтому итоговый вывод стал чище;
• при переходе между страницами темы в PDF больше не создаются лишние разрывы страниц — пустые страницы, как раньше, больше не появляются;
• убрана возможность скачивания только сообщений автора: идея оказалась слишком хлопотной в реализации, потому что приходилось отдельно размечать, какие сообщения забирать, а какие нет;
• при этом сам формат диалога стал аккуратнее: автор ответа теперь указывается ненавязчиво, без лишней графики и отвлекающих артефактов, которые раньше тоже затягивались в PDF;
• главное изменение — больше нет зависимости от вебдрайвера. Раньше работа программы зависела от упакованного в приложение Chrome WebDriver, теперь этого ограничения нет;
• скорость обработки выросла примерно в три раза. Все еще достаточно долго, но тут уж ничего не поделаешь - нужно гарантированно обходить lazy loading каждой страницы.

Скачать (https://drive.google.com/file/d/1-AHvjsVNnlThmWwe4HwJjeP_fzkmGGm_/view?usp=sharing)

Как обычно, порядок работы простой:
1. Добавляете ссылку на первую страницу темы, которую нужно упаковать в PDF. Если тем для упаковки несколько, то проделайте эту операцию несколько раз для каждой ссылки.
2. Указываете папку, куда сохранить файлы.
3. При необходимости вводите логин и пароль. Это рекомендуется, если в теме есть изображения, загруженные прямо на форум: такие картинки доступны только авторизованным пользователям. Если все изображения лежат на внешних сервисах вроде Imgur, можно обойтись без входа.
4. Запускаете выгрузку и ждёте завершения.

(https://i.imgur.com/PPXTWyp.png)
Название: Re: FMFan PDF Librarian Beta
Отправлено: SerEga от 03 апреля 2026, 03:25:47
Образец вывода в PDF на примере моей текущей истории.

(https://i.imgur.com/UdiO0QE.png)



(https://i.imgur.com/dD8JLvy.png)



(https://i.imgur.com/MCVbIUF.png)
Название: Re: FMFan PDF Librarian Beta
Отправлено: SerEga от 03 апреля 2026, 15:35:45
Вся классика жанра в одном архиве. (https://drive.google.com/file/d/1vJQbEGDvPe2ve--burn_Wk7bY3ES21hV/view?usp=sharing)
Название: Re: FMFan PDF Librarian Beta
Отправлено: siborg от 03 апреля 2026, 16:06:26
@SerEga 
:wizard:
Очень круто получилось, судя по твоему примеру. Вернусь домой из командировки - обязательно поюзаю на BigBiznes-e.