Обновить
13.9

PDF

Межплатформенный формат электронных документов

Сначала показывать
Порог рейтинга
Уровень сложности

Как написать конвертер веб-страниц в PDF и не сойти с ума

Время на прочтение4 мин
Охват и читатели5.4K

Вам когда-нибудь хотелось сохранить статью в PDF без лишних деталей, только в виде текста? Или сохранить только определённый элемент страницы? И чтобы всё это было на одной длинной странице, без разрывов?

Мне тоже. Поэтому, я решил написать своё решение и оформить его в виде браузерного расширения.

Читать далее

Новости

typst vs InDesign & TeX

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели4K

Решили издать каталог подразделений, проектов и людей достаточно крупной организации — и встал вопрос, в чем именно готовить макет: InDesign, TeX или typst. При выборе инструмента хотелось учесть: 1) удобство работы каждого участника, 2) удобство совместной работы, 3) удобство внесения правок в последний момент. Третий пункт даже был самым важным, посколько было очевидно, что первоначальные данные весьма грязные, будут правки не только орфографические, но и в масштабе плюс/минус подпроект.

InDesign — старый добрый друг, в котором есть работа со стилями, скрипты типа DoTextOK, генерация оглавлений и прочее. Но я пока не освоил систему совместной работы в InDesign, плюс планировалась верстка с выводом данных сеткой — а это означало бы, что при добавлении или удалении одного элемента немалую часть работы пришлось бы делать заново (опасения о таких подковырках оправдались). Пугала еще одна рутинная процедура — вставка вручную QR-кодов, которых в итоге оказалось 170 штук. Напутать их было бы проще простого.

TeX для меня — тоже старый добрый друг, о сопоставлении его с InDesign я уже писал. Совместную работу можно было организовать в git, устойчивость к внесению правок в последний момент вполне надежная. QR-коды умеет генерировать сам.

Но на горизонте появился typst, который работает по принципу TeX'а (гибрид текста и команд + картинки --> pdf), но в несколько раз быстрее (особенно если TeX надо прогонять несколько раз для выставления перекрестных ссылок). Еще больше порадовал typst тем, что можно прямо в режиме реального времени видеть результат всех вносимых изменений (Visual Studio Code + плагины для typst), а также прыгать из превьюшки на нужное место кода, а из кода — на нужное место превьюшки.

Читать далее

Как гуманитарий за 2 месяца с нуля RAG систему построил, или Парсинг PDF по-хардкору

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели12K

Добрый день. Сегодня я расскажу о том, как я за 2 месяца с полного нуля создал доменную RAG систему с корпусом в 20+ книг.

В статье затрону проблемы парсинга данных (особенно PDF документов, с которыми приходилось иметь дело), чанкинга, создания и индексации эмбеддингов, а также самого интересного – ретривера. Расскажу о latency, трейд-оффах, и сложностях реализации подобных систем локально на ноутбуке (хоть и «игровом») без использования API LLM.

Вся система делалась мной самостоятельно без использования LangChain – это чистый пайплайн от Tesseract, Pillow, MuPDF/Fitz до e5-multilingual, FAISS (+bm25, который я затрону в статье) и Qwen3:8B в качестве LLM.

Читать далее

Мониторинг рынка аренды Санкт-Петербург

Уровень сложностиПростой
Время на прочтение1 мин
Охват и читатели8.9K

Решил немного изучить рынок аренды жилья в городе Санкт-Петербург.
Что сейчас по ценам, где и какие квартиры дешевле или дороже?

Данные: ЦИАН, 7 038 объявлений (цены предложения, не сделки). База - медиана, чтобы не искажаться хвостом.

В итоге собрал вот такой PDF-отчет за январь 2026 (яндекс диск).

Читать далее

Классический IDP и VLM в обработке документов: почему выигрывает комбинация подходов

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели5.7K

В прошлых материалах мы уже рассказывали о том, как мультимодальные модели (VLM) справляются с извлечением данных из финансовых документов, и показывали, что в ряде сценариев они могут конкурировать с оптимизированными классическими IDP-решениями. Однако мы решили не ограничиваться одним типом документов и продолжили исследование, сравнив технологии на широком спектре материалов. В пул вошли сканы высокого качества и фотографии со сложным фоном, структурированные табличные формы и документы с элементами рукописного текста, русскоязычные и англоязычные тексты.  

Сегодня мы готовы поделиться сводными итогами.

Читать далее

Питер Штайнбергер. Как работает автор OpenClaw [Clawdbot/Moltbot]

Время на прочтение21 мин
Охват и читатели12K

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

В реальности все по-своему заблуждаются. Питер Штайнбергер, программист-ветеран с большим стажем, действительно не читает, что улетает в проект, а OpenClaw — не третье, а пятое название ИИ-агента.

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

Читать далее

Как сделать книгу за пятьдесят рублей

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели29K

Лет двадцать назад я опубликовал этот материал, но платформа умерла, сохраню тут этот артефакт далекого прошлого, на мой взгляд до сих пор актуальный. Многим нравится держать книгу в руках, особенно после того как ее сам сделал. При этом на самом деле это довольно дешево, сделать книгу. Плюс, поди найди в магазине нужную книгу. Я вот одну только в Москве нашел, у издателя. Вот и попробуем сделать настоящий шитый переплет, даже намного лучше типичного дешевого клеенного, сами.

Читать далее

LaTeX. Пакет, о котором должен знать каждый математик. Изометрические кубики, «змейки» из квадратиков. Часть 4/4

Уровень сложностиСредний
Время на прочтение2 мин
Охват и читатели13K

Меня зовут Виталий и я пишу уже который год самую большую книгу по математике для 4 11 классов, а так же автор поста (рекомендую почитать) о ней. Пишу я ее в LaTeX и считаю, что современный учебник не должен быть черно-белым, а так же должен быть удобен для использования и учеником и учителем.

Хочу поделиться моей находкой --- пакет `ProfCollege`. Компиляция ТОЛЬКО Lualatex. Как обычно прикладываю полный код в тексте.

Первая часть тут, вторая часть тут, третья часть тут

Читать далее

Как приручить iText8: превращаем HTML в PDF без седых волос

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели9.5K

Представьте ситуацию: пятница, вечер, до релиза осталось два дня. Заказчик внезапно вспоминает, что «было бы неплохо генерировать договоры в PDF». Знакомо?

Я оказался в похожей ситуации год назад. Задача казалась тривиальной: взять HTML-шаблон счёта, подставить данные и получить красивый PDF. «Часа на два работы», — подумал я. Как ошибался...

Читать далее

Living off the Land: Как легитимные утилиты стали оружием в руках хакеров на примере Rare Werewolf

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели7K

В мире кибербезопасности уже не первый год набирает популярность тактика «Living off the Land» (LOTL) — «живущие за счёт земли». Её суть заключается в том, чтобы максимально использовать легитимное программное обеспечение и встроенные функции операционной системы для достижения злонамеренных целей. Это позволяет злоумышленникам эффективно маскироваться на заражённой системе, ведь активность программ вроде curl.exe, AnyDesk.exe или установщика WinRAR редко вызывает подозрения у рядовых пользователей и даже у некоторых систем защиты.

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

Поднять занавес атаки

Отказ от DevExpress Reports: переход на собственную систему отчетности

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели9.3K

Всем привет! Меня зовут Леонид, я разработчик компании DD Planet.

Как мы все прекрасно понимаем, ни один бизнес‑проект немыслим без разного рода отчетов. Быстрота и удобство их создания зачастую критично важны.

В нашей компании мы долгое время использовали инструмент DevExpress Reports. Однако после ухода DX с отечественного рынка остро встал вопрос о пересмотре архитектуры формирования отчетов — особенно тех, что создавались с помощью визуального дизайнера форм.

Раньше, при использовании компонентов DevExpress, такие отчеты можно было создать в несколько кликов и практически без знания кода — за счет мощного и удобного дизайнера:

Читать далее

Невидимая война: почему найти скрытые данные сложнее, чем их спрятать

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели4.9K

Привет, Хабр!

В прошлый раз мы написали свой стегоанализатор и научились находить следы простого LSB-внедрения. На первый взгляд может показаться, что задача решена: есть алгоритм, есть анализатор, запускаем проверку и получаем ответ. Но в реальности всё гораздо сложнее. Стегоанализ — это не спринт, а бесконечная гонка вооружений, в которой тот, кто прячет, почти всегда на шаг впереди.

Читать далее

Добавление OCR-слоя и другие преобразования PDF

Время на прочтение3 мин
Охват и читатели11K

При сканировании и сохранении в формате PDF зачастую документы сохраняются в виде графических изображений. Это неудобно, потому что делает невозможным полнотекстовый поиск по содержанию. Утилита OCRmyPDF решает эту проблему: она одной командой из консоли добавляет к PDF-документу слой OCR с распознанным текстом.

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

Читать далее

Ближайшие события

Docs as Code: наш опыт документирования с LaTeX и Dev container

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели3.2K

В мире разработки мы постоянно сталкиваемся с технической документацией — она повсюду, от спецификаций API до архитектурных решений. И мы хотим, чтобы документация была структурированной, актуальной и удобной… но в реальности чаще имеем дело с хаотичным набором разрозненных материалов, которые теряются между Confluence, почтой и Google Docs, стремительно устаревают и выглядят небрежно, с «плывущими» таблицами и запутанной структурой. Представили этот беспорядок?

Хорошая новость: есть способ автоматизировать и стандартизировать документацию, сделав её такой же управляемой, как код — через модель docs as code.

В статье вместе вспомним базовые принципы этого подхода, расскажем про наш опыт документирования и поделимся репозиторием с готовым шаблоном LaTeX для максимально быстрого старта без установки зависимостей!

Читать далее

Как мы сделали «ssyoutube для ChatGPT» и что из этого вышло

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели9.6K

Потребность поделиться диалогом из ChatGPT рано или поздно возникает. Однако нативного экспорта в удобный формат вроде PDF или Markdown платформа не предлагает. Копипаст — плохое решение: таблицы разваливаются, форматирование кода съезжает, а изображения просто пропадают. Мы решили эту задачу для себя, написав собственный конвертер. Оказалось, что он полезен не только нам.

Так появился pdfchatgpt.com. Принцип простой: копируешь share-ссылку и диалога с ChatGPT, добавляешь pdf в начало ссылки и получаешь готовый файл. Также можно перейти на pdfchatgpt.com и просто вставить ссылку на диалог.

В этой статье — технический разбор нашего решения: от простого скрипта с puppeteer до асинхронной системы с очередями. Делимся опытом для тех, кто решает схожие задачи.

Читать далее

Топ-5 нейросетей для работы с PDF: модели для бесплатного извлечения данных в 2025 году

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели27K

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

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

Но если раньше мучиться приходилось в одиночку, теперь на помощь приходят алгоритмы.

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

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

Приятного чтения!

Читать далее

Взлом зашифрованного pdf-файла. Часть 2

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели5.5K

Всех приветствую, читатели Хабра!

Вторая часть исследования безопаности файлов pdf. После того, как я опубликовал первую часть (https://habr.com/ru/articles/906076/) у одного из моих коллег возник вопрос: а что если зашифровать pdf файл при помощи программы Adobe (естественно на Windows). Естественно что, меня заинтересовал этот вопрос, и мы решили совместно с моим коллегой зашифровать файлы в ОС Windows (10) при помощи Adobe и на сайте, указанном в первой части. Один из файлов был зашифрован в Windows но на сайте указанном в первой части статьи. Сделал я это специально для того, чтобы узнать не будет ли проблем совместимости на двух ОС - Windows и Linux, и возможно ли кракнуть такой файл, который был создан в другой системе, так сказать тестовый запуск. Другие файлы были зашифрованы в программе, опять же на ОС Windows. Почему мой коллега и я задались вопросом возможности крака? В Adobe возможно зашифровать pdf файл при помощи небезызвестного AES!

Примечание

Правовая информация:

Данная статья создана исключительно в ознакомительных/образовательных/развивающих целях.
Автор статьи не несет ответственности за ваши действия.
Автор статьи ни к чему не призывает, более того напоминаю о существовании некоторых статей в уголовном кодексе РФ, их никто не отменял:
УК РФ Статья 272. Неправомерный доступ к компьютерной информации
УК РФ Статья 273. Создание, использование и распространение вредоносных компьютерных программ
УК РФ Статья 274. Нарушение правил эксплуатации средств хранения, обработки или передачи компьютерной информации и информационно-телекоммуникационных сетей

Читать далее

Взлом зашифрованного pdf-файла. Взлом зашифрованных архивов rar, zip, 7z. Утилиты pdfcrack, rarcrack и не только

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели25K

Всех приветствую, читатели Хабра!

В сегодняшней статье я поделюсь примерами кракинга зашифрованных паролями pdf-файлов и файлов архивов. Я покажу примеры работы с такими программами как pdfcrack, rarcrack, John the Ripper. Естественно данные программы работают в линукс (в моем случае Kali Linux), но под Windows я думаю есть аналоги данных программ. И да, в этой статье я затрону примеры связанные с john, хоть возможно на Хабре и имеются статьи связанные с данной программой (а в русскоязычном сегменте интернет точно есть описания как с ней работать), но в рамках данной статьи мои примеры будут уместны и необходимы. Это своего рода онлайн-шпаргалка по использованию данных утилит

Примечание

Правовая информация:

Данная статья создана исключительно в ознакомительных/образовательных/развивающих целях.
Автор статьи не несет ответственности за ваши действия.
Автор статьи ни к чему не призывает, более того напоминаю о существовании некоторых статей в уголовном кодексе РФ, их никто не отменял:
УК РФ Статья 272. Неправомерный доступ к компьютерной информации
УК РФ Статья 273. Создание, использование и распространение вредоносных компьютерных программ
УК РФ Статья 274. Нарушение правил эксплуатации средств хранения, обработки или передачи компьютерной информации и информационно-телекоммуникационных сетей

Все атаки я проводил на своем персональном компьютере, где создавал собственные файлы, которые и атаковал, то есть все действия легитимны.

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

Читать далее

RAG-технология в действии: как создать интеллектуальную систему поиска по нормативным документам

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели11K

В этой статье рассмотрим пример практической реализации RAG (Retrieval-Augmented Generation) на Python для ответов на вопросы пользователей с опорой на нормативную базу технических стандартов. В моём случае это строительные документы: СНиПы, СП, ГОСТы и другие. Готовое решение можно протестировать в строительном Telegram-боте: https://t.me/Pdflyx_bot - данний бот генерирует ответ на основании базы знаний, приводит цитаты и указывает страницы документов, откуда была взята информация.

Данный подход может использоваться и для других сфер: анализа проектной документации, корпоративных регламентов и любых текстовых баз знаний.

Читать далее

RAG без эмбеддингов для энтерпрайза (опыт ИИ-чемпионата)

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели1.2K

Как я отказался от оверинжиниринга и переместился с 30 места на 7 в Enterprise RAG Challenge. И чего не хватило до 1 места.

Сейчас облась ИИ – дикий запад. Никто не знает, как правильно решать задачи, а результаты экспериментов лежат приватными под NDA. Тем ценнее, когда кто-то делится реальным опытом с разбором деталей и подводных камней. Так что делюсь с хабром своей мартовской статьей про участие в Enterprise RAG Challenge от Рината LLM под капотом

Если вы интересуетесь разработкой продуктов поверх LLM, то

Читать далее
1
23 ...