Обновить
1.98

PDF

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

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

Почему так сложно извлекать текст из PDF?

Время на прочтение7 мин
Охват и читатели31K
Перевод статьи с сайта компании FilingDB, составляющей базу данных из документации европейских компаний

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

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

Основная проблема в том, что PDF не предполагался как формат для ввода данных – его разрабатывали, как канал вывода, дающий возможность тонкой подстройки вида итогового документа.
Читать дальше →

Lorem Ipsum: пишем от руки

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

Предисловие



Занимаюсь развитием образовательного проекта. И в этом году для ребят потребовались прописи на английском языке.

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

Прописи — вещь полезная как и для детей, так и для взрослых. Одни еще учатся писать, другие — тренируются.

Нам было важно создать систему быстрого и удобного подбора прописей. Поэтому решили сделать свой генератор.

Тема интересная, но информации в интернете оказалось очень мало. Так возникла идея написать инструкцию создания своих прописей.
Читать дальше →

Как создавать и изменять интерактивные PDF-формы, или новый скилл ABBYY FineReader PDF

Время на прочтение7 мин
Охват и читатели61K
Мы регулярно обучаем ABBYY FineReader PDF новым навыкам. Две недели назад мы рассказали на Хабре, как научили ABBYY FineReader PDF редактировать целые абзацы. Этот пост — о еще одном продвижении нашего продукта на пути к совершенству: программа теперь умеет создавать и редактировать интерактивные PDF-формы.

Раньше ABBYY FineReader PDF мог только заполнять такие формы – заявления на отпуск или визу, резюме, согласие на обработку персональных данных, исследования, опросы и т.д. Но что если компании нужно создать в формате PDF анкету, разработать шаблон документа или отредактировать в готовом бланке несколько полей, чтобы затем отправить его сотрудникам или клиентам? Теперь все это можно сделать в одной программе. О том, как это работает, для чего и кому может понадобиться такая функциональность, мы сегодня и расскажем. Поехали!
Читать дальше →

OCR для PDF в среде .NET — как извлечь текст из недоступных для поиска PDF документов

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

Извлечение текста — одна из популярных задач обработки PDF документов. Вам потребуется извлечь текст из PDF, чтобы:


  • проиндексировать документ для полнотекстового поиска
  • распарсить некоторые данные (например, названия и цены товаров в прайс-листе)
  • выделить, удалить или заменить некоторое слово или фразу

Извлечь текст вручную можно так: откройте документ в любом PDF просмотрщике, выделите и скопируйте текст. В большинстве документов это сработает. Такие документы называются "доступные для поиска PDF" или "searchable PDF". Текст в них выводится с помощью специальных PDF операторов, а связанные объекты шрифтов содержат правильную информация о соответствии глифов значениям Unicode.


Многие PDF библиотеки умеют извлекать текст из доступных для поиска PDF.


Однако, часто встречаются и недоступные для поиска PDF ("non-searchable PDF") документы. В них текст обычно выводится как растровое изображение. Типичный пример — сканированный PDF документ. Также текст в недоступных для поиска PDF может выводиться векторными путями без использования шрифтов и специальных PDF операторов.


Для извлечения текста из недоступных для поиска PDF выполняйте оптическое распознавание текста (OCR). Оптическое распознавание не гарантирует правильного извлечения текста в 100% случаев. Результат зависит от качества документа и алгоритма распознавания. Также OCR существенно медленней, чем извлечение текста из доступных для поиска PDF.


Посмотрим, как выполнить оптическое распознавание и извлечь текст из PDF документов в программе для платформы .NET.

Читать дальше →

Как мы научили ABBYY FineReader PDF редактировать целые абзацы

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

Сегодня мы обновили ABBYY FineReader 15 и выпустили его под брендом ABBYY FineReader PDF, потому что он объединяет все инструменты для работы с PDF. По этому поводу публикуем первый пост из серии материалов о фичах программы. В нем мы расскажем об одной интересной возможности, которая не первый месяц есть в программе, но, возможно, не все о ней знали.

Давно ли вы открывали PDF-файлы? Готовы поспорить, что совсем недавно. Скорее всего, на вашем компьютере точно найдется пара сканов, а может, еще и макет презентации, аналитическое исследование или техническая инструкция. Для каких задач обычно используют эти документы? По данным опроса ABBYY, 62% респондентов ищут информацию в PDF, 60% — копируют текст из документа, а 52% — редактируют: вносят в файл правки, исправляют ошибки и опечатки.

Даже сейчас не все знают, что можно редактировать текст в PDF. Да, изменение таких файлов устроено не так, как редактирование обычного текстового документа. ABBYY FineReader PDF с многофункциональным текстовым редактором для работы с PDF и сканами позволяет быстро внести изменения прямо в PDF, без утомительной конвертации файла в другие форматы. При редактировании текст в PDF плавно перетекает со строчки на строчку, как в MS Word. Можно добавить или удалить несколько слов, изменить целые абзацы или даже поменять их местами.

В этом посте мы раскроем технические подробности редактирования многострочных фрагментов текста в FineReader: как мы изменили движок программы, как редактирование устроено изнутри и как оно выглядит для пользователя. Поехали!
Читать дальше →

Обзор ONYX BOOX Note 2 — ридер с большим экраном и максимальными возможностями

Время на прочтение15 мин
Охват и читатели14K
Наверное, легко было обозревать первые электронные книги (ридеры, «читалки») с экранами на «электронных чернилах». Достаточно было пары фраз: «Форма корпуса — прямоугольная. Что умеет делать — показывать буквы».

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

И, в добавок, с помощью наиболее продвинутых ридеров можно не только читать, но и писать, и даже рисовать!

И вот о таком ридере с возможностями «по максимуму» и пойдёт речь в обзоре.
Знакомьтесь — ONYX BOOX Note 2:

image
(изображение с официального сайта производителя)

Перед дальнейшим обзором отдельно остановлюсь на размере экрана ONYX BOOX Note 2, составляющем 10.3 дюйма.

Такой размер экрана позволяет комфортно читать книги не только в стандартных книжных форматах (mobi, fb2 и т.п.), но и в форматах PDF и DjVu, в которых содержимое страницы задано жестко и не может быть переформатировано «на ходу» (из-за чего для читаемости мелкого шрифта должен быть физически крупный размер экрана).
Читать дальше →

Так Систему не обойти

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

Последний учебный год, апрель месяц. Студента все чаще и чаще начинают посещать мысли о том, что надо бы заняться дипломной работой. Заняться — в смысле придумать, как быстро состряпать нечто, что будет хотя бы созвучно той теме, которую, вроде как, утверждали с научным руководителем. А, да, надо хотя бы на 80 страниц, еще и соблюсти ГОСТы там всякие… Понятное дело, самому столько связного текста уже не успеть набрать (да еще и могут начать в суть работы вникать, ну его!). Очевидно — надо брать готовую работу, которую уже защитили, работу качественную, проверенную и одобренную. Знакомая всем нам ситуация. Открытым остается единственный вопрос — как сделать так, чтобы работа прошла проверку на заимствования… Поиск в интернете и общение с коллегами по несчастью приводят студента к следующим вариантам решения проблемы:

  • Написать работу самому;
  • Перефразировать текст (дорого и сложно);
  • Обхитрить систему с помощью «технических обходов».



Давайте посмотрим, какими бывают технические обходы, как мы их отлавливаем и почему их применение — не самая хорошая идея…

Читать полностью

Месяц с Onyx Boox Note Pro

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


Хотя устройства с E-ink, позволяющие делать рукописные заметки и рисунки, существуют довольно давно, приемлемая задержка между касанием пера и появлением следа от него была достигнута сравнительно недавно (из известных это Sony DPT-S1/RP1 и reMarkable). Поскольку у меня, начиная с 1990-х, было немало различных устройств — как с перьевым вводом (Palm, Newton MP2000, HP TC1100, Raon Everun, Asus EA800, Boogie Board, так и просто читалок на E-ink (Kindle Paperwhite, PocketBook 740, Good e-Reader 6.8), то есть представление о плюсах и минусах различных решений и сложился некий личный образ «идеального» устройства.

В моём представлении у него должны быть E-Ink дисплей с подсветкой, магниторезонансный дигитайзер с распознаванием силы нажатий (обычно называемый «wacom»), неощутимая при рисовании задержка, 10" (или более) E-Ink экран, достаточный выбор сторонних приложений.
Читать дальше →

Обзор ONYX BOOX Max 3: ридер с максимальным экраном

Время на прочтение19 мин
Охват и читатели14K
Оглавление
1. Технические характеристики
2. Аппаратное и программное обеспечение
3. Чтение книг и документов
4. Дополнительные функции
5. Автономность
6. Итоги и выводы

Что самое важное для электронных книг (ридеров) с возможностью производственно-технического применения? Может, мощность процессора, объём памяти, разрешение экрана? Всё перечисленное, конечно, важно; но самое главное — это физический размер экрана: чем он больше, тем лучше!

Это связано с тем, что почти 100% документации разного рода выпускается в формате PDF. А этот формат — «жесткий»; в нём нельзя, например, просто взять и увеличить размер шрифта, не увеличивая заодно и все остальные элементы.

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

Соответственно, чтобы страница такого документа с мелким шрифтом была читаемой, сам экран должен быть крупнее!

Иначе документ можно будет читать только по «кусочкам», увеличивая его отдельные области.

После этого вступления разрешите представить героя обзора — электронную книгу ONYX BOOX Max 3 с гигантским экраном в 13.3 дюйма:

image
(изображение с официального сайта производителя)
Читать дальше →

Разбираем возможности конвертирования HTML в PDF браузером Google Chrome

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


Недавно в одном стартапе я решал задачу генерации билетов в формате PDF. На тот момент уже был готов сайт с устоявшимся стеком технологий, поэтому я искал подход, который бы не потребовал использования дополнительных инструментов. В итоге я предложил сперва создавать билеты в формате HTML, а затем конвертировать в PDF с помощью браузера Chrome. Как оказалось, данным способом можно генерировать не только билеты, богато декорированные CSS, но и самые разные отчеты с графиками на JavaScript. В этой статье я расскажу о том, как для этих целей запустить Chrome, дам несколько советов по настройке CSS, а так же обсужу недостатки данного решения.

Читать дальше →

Обзор ONYX BOOX Note Pro: топовый ридер для работы с PDF

Время на прочтение12 мин
Охват и читатели22K
Давненько у нас не было по-настоящему больших ридеров! После ONYX BOOX MAX 2 мы в основном рассказывали об электронных книгах с диагональю экрана до 6 дюймов: для чтения литературы перед сном, конечно, ничего лучше не придумали, но если речь заходит о работе с крупноформатными документами, захочется располагать большими мощностями (и дисплеем). 13 дюймов, пожалуй, будет многовато (проще уж ноутбук на колени поставить), да и заметки на ходу с таким агрегатом не очень удобно добавлять. Здесь 10 дюймов — вполне себе золотая середина, и было бы странно не увидеть девайс с такими параметрами в линейке производителя ONYX BOOX. Он есть, и название у него обнадёживающее: Note Pro.


Читать дальше →

Создание динамических PDF-файлов с использованием React и Node.js

Время на прочтение8 мин
Охват и читатели41K
Материал, перевод которого мы сегодня публикуем, посвящён созданию динамических PDF-файлов с использованием HTML-кода в качестве шаблона. А именно, речь пойдёт о том, как сформировать простой счёт на оплату неких товаров или услуг, динамические данные, включённые в который, берутся из состояния React-приложения. База React-приложения создана с помощью create-react-app, серверная часть проекта основана на Node.js, при её разработке использован фреймворк Express.



Автор этого материала отмечает, что он подготовил видео, в котором демонстрируется разработка проекта. Если вы решите и посмотреть видео, и прочитать статью, то рекомендуется поступить так. Сначала бегло просмотрите статью, потом включите видео и воссоздайте у себя рассматриваемую там систему. А после этого просто прочитайте статью.
Читать дальше →

Терпение и труд весь текст извлекут

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

Во время учебной сессии (май-июнь и декабрь-январь) пользователи просят нас проверить на наличие заимствований до 500 документов каждую минуту. Документы приходят в файлах различных форматов, сложность работы с каждым из которых различна. Для проверки документа на заимствования нам сперва необходимо извлечь из файла его текст, а заодно и разобраться с форматированием. Задача — реализовать качественное извлечение полутысячи текстов с форматированием в минуту, при этом падать нечасто (а лучше не падать совсем), потреблять мало ресурсов и не платить за разработку и эксплуатацию конечного детища половину галактического бюджета.


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



Источник изображения: Википедия

Читать полностью

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

Проверяем сведения о недостоверности в выписках из ЕГРЮЛ. Склеиваем pdf на python

Время на прочтение3 мин
Охват и читатели5.3K
В настоящее время весьма актуальной темой остается возможность налогового органа исключить из ЕГРЮЛ общество всего лишь ”выявив” в отношении компании так называемые недостоверные сведения. Как показывает статистика с сентября 2018 года ФНС исключила из ЕГРЮЛ 90 тысяч организаций с записью о недостоверности сведений о руководителе, учредителе или адресе юрлица. Обнаружить тот факт, что в отношении компании имеются недостоверные сведения можно лишь просмотрев выписку из ЕГРЮЛ.

Выглядит это примерно следующим образом:



Проблема усугубляется тем, что данные о недостоверности могут появиться как по заявлению заинтересованного лица так и “сами по себе”, в результате действий налогового органа. Чтобы обезопасить себя от внезапного вылета из ЕГРЮЛ выписки требуется получать регулярно. Как это делать быстро и безболезненно при наличии в холдинге большого количества компаний, мы разобрали в предыдущем посте.

В этот раз разберем как искать сведения о недостоверности в выписках ЕГРЮЛ.
Читать дальше →

Генератор бизнес писем в PDF по данным из XML

Время на прочтение2 мин
Охват и читатели4.4K
Очень часто в производстве возникает задача разослать несколько писем с вложением в формате pdf. Это могут быть не только счета или фактуры, но и извещения или приглашения, персональные сообщения об акциях и тому подобное. Конечно, еще со свадьбы в записной книжке завалялось сотня другая человек. Текст письма может быть как статическим, так и вариативным. И тут обегаешься по всему интернету с вопросом как это сделать…

Возьмем за основу письмо следующего содержания



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

Подготовим базу адресатов в xml формате, я не буду пояснять что там значит заголовок, думаю, что опытный читатель разберется сам. Отмечу только, что формат легко меняется под ваши данные, которые набиваются по вашему индивидуальному шаблону

Итак, база получателей (оригинальные xml файлы размещены по ссылке в конце. Вы можете скачать их и изменить по собственному желанию)


Читать дальше →

Автоматизация конвертирования word файлов в другие форматы

Время на прочтение3 мин
Охват и читатели19K
Некоторые гос. структуры формируют отчёты в doc файлах. Где-то это делается руками, а где-то автоматически. Представим, что вам поручено обработать тонну таких документов. Это может быть необходимо для вычленения какой-то конкретной информации или просто проверки содержимого. Нам нужно вынуть только неформатированный текст без графиков и картинок. К примеру, такие данные проще засовывать в нейронную сеть для дальнейшего анализа.

Вот некоторые варианты для самого обычного человека:

  • Ручками перебрать все файлы по одному. Уже после десятого документа к вам придёт мысль о том, что вы делаете что-то не так.
  • Попробовать найти в интернете специальную библиотеку (расширение) для работы с doc файлами на языке программирования, которым вы владеете. Потратить часок другой на понимание, как работать с этой библиотекой. Также вам ещё предстоит столкнуться с тем, что принципы работы с doc и docx слегка отличаются.
  • Попытаться автоматизированно пересохранить все документы в другой формат, с которым будет удобнее работать.

Как раз о последнем варианте и пойдёт речь.

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

Трагичная история знакомства с poppler

Время на прочтение3 мин
Охват и читатели8.4K
…Или как мы писали пилот приложения для ОС Sailfish с использованием poppler.

Год начался с занятной задачи — нашей команде нужно было за короткий срок собрать пилот приложения «Мобильное рабочее место руководителя» на ОС Sailfish. По сути, это мобильный клиент СЭД, т.е. он предназначен для работы с документами. Ну и конечно же, для работы с документами необходим pdf-reader. Но оказалось, что заставить его работать гладко не так-то просто. Но мы, можно сказать, справились (для прототипа, конечно). Как? Читайте под катом.

image
Читать дальше →

Что скрывает PDF

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


В файлах PDF много информации. Бóльшая часть используется для одинаковой визуализации документа на разных платформах. Но также есть множество метаданных: дата и время создания и редактирования, какое приложение было использовано, тема документа, название, автор и многое другое. Это стандартный набор метаданных, а имеются способы вставить в PDF пользовательские метаданные: скрытые комментарии в середине файла. В данной статье мы представим некоторые формы метаданных и покажем, где их искать.
Читать дальше →

Валидация электронных подписей на C# с использованием КРИПТО ПРО

Время на прочтение5 мин
Охват и читатели21K
Продолжая разговор на тему электронных подписей (далее ЭП), надо сказать о проверке. В предыдущей стать я разбирал более сложную часть задачи — создание подписи. В этой статье всё несколько проще. Большая часть кода это адаптация примеров из КРИПТО ПРО .NET SDK. Проверять будем в первую очередь подписи по ГОСТ Р 34.10-2001 и ГОСТ Р 34.10-2012, для этого нам и нужен КРИПТО ПРО.
Читать дальше →

Неочевидные особенности применения Rotativa для генерации PDF в ASP.NET MVC приложении

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

Многие разработчики сталкиваются с задачей создания PDF отчетов для веб приложений, вполне естественный запрос. Я бы хотел представить вашему вниманию свой опыт работы с такой задачей при использовании библиотеки Rotativa для генерации отчетов. Это одна из самых, на мой взгляд, удобных библиотек для такой цели в своем сегменте, но при использовании ее я столкнулся с несколькими не очевидными моментами, о которых и хочу поговорить.

Читать дальше →