Рубрика «PDF» - 7

Всем доброго времени суток!

Хочу поделиться интересным знанием и новостью: журнал LinuxFormat объявил о расширении своей wiki-энциклопедии wiki.linuxformat.ru, где публикуются материалы из выпусков LinuxFormat — технологические статьи, приемы программирования, разработки с открытым кодом и многое другое по темам: Arduino‏‎, Blender‏‎, Cmake‏‎, Cairo‏‎, Debian,‏‎ Django‏‎, Fedora‏‎, Firefox‏‎, GIMP‏‎, GTK+‏, ‎Gambas‏‎, Gnome‏‎, Go‏‎, Hardcore Linux‏‎, Inkscape‏‎, Java‏‎, Lua‏‎, Maxima‏‎, Mono‏‎, Ogre‏‎, OpenOffice‏‎.org‏‎, PHP‏‎, Perl‏‎, PostgreSQL‏‎, Python‏‎, Qt‏‎, Raspberry PI, Samba‏‎, Scribus‏‎, TeX‏‎, Ubuntu‏‎ и т.д. и т.п.

Для задачи пополнения wiki-энциклопедии wiki.linuxformat.ru необходима поддержка сообщества, поскольку проект реализуется на полностью бесплатной для участников основе. Запущена краудфандинговая кампания на IndieGogo, где каждый желающий может внести свой вклад в развитие сообщества Open Source и помочь российским специалистам и подрастающему поколению получить доступ к масштабной базе знаний на русском языке!

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

Опубликован код движка для рендеринга PDF в браузере ChromeКомпания Google опубликовала под свободной лицензией BSD исходный код PDFium — движка, который осуществляет рендеринг PDF в браузере Chrome. Он осуществляет очень точный и быстрый рендеринг документов, не уступая Acrobat Reader.

Движок PDFium разработан при участии коммерческой компании Foxit Software, которая выпускает много проприетарных программ для работы с PDF, в том числе редакторы документов, быстрые индексаторы архивов, SDK для внедрения в сторонние продукты. Разработчики заявляют, что их программное обеспечение по производительности примерно в три раза превосходит любой другой софт для работы с PDF, включая фирменные программы от Adobe.

Судя по всему, Google лицензировала у Foxit Software движок рендеринга и добилась разрешения выложить исходный код в общественное пользование.
Читать полностью »

Как web страницу легко превратить в PDF?
Для меня было очень неожиданно то, что в хабе по Java практически нет информации по работе с PDF документами, поэтому я, из личного опыта, хочу на примере сервлета показать как легко можно любую web-страницу превратить в PDF документ.
Читать полностью »

Несколько месяцев назад я столкнулся с интересной задачей по анализу подозрительного pdf файла. К слову сказать, обычно я занимаюсь анализом защищенности веб приложений и не только веб, и не являюсь большим экспертом в направлении malware analysis, но случай представился довольно любопытный.

Практически все инструменты представленные в данной статье содержаться в дистрибутиве Remnux, созданном специально в целях reverse engineering malware. Вы можете сами загрузить себе образ виртуальной машины для VirtualBox или Vmware.
Читать полностью »

Доброго времени суток!

Экспорт Избранного на Хабре в PDF
Думаю многих из вас когда-либо посещала мысль «вот бы сохранить статьи с Хабра».
Такая же мысль посетила и меня два дня назад. Сохранить захотел не просто каждую статью, а только те, что в избранном, да не поштучно, а сразу всё скопом.
Первая мысль — надо написать скрипт, который всё это вытянет. Python я уже подучил, но вот с генерацией PDF на нем сталкиваться ещё не приходилось.

Закручинился я было… Но OpenSource и Хабр спасли меня!

Краткая суть статьи для тех, кому не интересно много читать

В статье описан доработанный скрипт на Python fav2pdf.
Изначальный автор скрипта vrtx, за что ему большое спасибо.
«Usage — лучше тысячи слов!»

usage: fav2pdf.py [-h] [-d OUTPUT_DIR] [--from-date FROM_DATE]
                  [--to-date TO_DATE] [--all-in-one]
                  [--only-hubs [ONLY_HUBS [ONLY_HUBS ...]]] [--no-comments]
                  [--no-symlinks]
                  user

Tool for save favorite posts from habrahabr.ru in pdfs

positional arguments:
  user                  habrahabr.ru username

optional arguments:
  -h, --help            show this help message and exit
  -d OUTPUT_DIR, --output-dir OUTPUT_DIR
                        Directory for output
  --from-date FROM_DATE
                        From date
  --to-date TO_DATE     To date
  --all-in-one          Save all posts in one PDF-file
  --only-hubs [ONLY_HUBS [ONLY_HUBS ...]]
                        Save only posts from hubs. For multiple: "--only-hubs
                        Hub1 Hub2 --"
  --no-comments         Dont save comments from posts
  --no-symlinks         Dont create symlinks to posts

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

WPF > PDF через PDFSharp.Xps: чиним вывод гиперссылок
Короткий пост в продолжение к моему предыдущему посту про генерацию PDF из WPF-приложения с помощью PDFSharp. Как описано в той статье, генерация производится с использованием FlowDocument в качестве посредника. Во FlowDocument мы можем использовать Hyperlink для вывода разного вида гиперссылок, но оказалось, что использованная мной версия PDFSharp.Xps конвертера тупо игнорирует прикрепленные к элементам XpsElement аттрибуты FixedPage_NavigateUri.
Я потратил какое-то времени на то, чтобы разобраться с форматом вывода PDF 1.4, но пока не смог понять как правильно починить печать в PdfContentWriter проекта PDFSharp.Xps.
Под катом представлено более простое решение, а именно наложение гиперссылки на текст в виде Link Annotation. Также в конце статьи Вы найдете результат моих изысканий на тему «кошерного» решения проблемы, через внедрение в процесс вывода в PDF примитивов.
Читать полностью »

Пару недель назад на проекте появилась задача генерации PDF.
Разумеется, я, как разработчик WPF UI, сразу был против сурового подхода кодирования отрисовки всех примитивов PDF в коде C#.
И заказчик был непротив покупки некоего платного конвертера из HTML в PDF, например.
Вроде бы все просто — генерируем строку с HTML-разметкой, используя DotLiquid для шаблонизации, и конвертируем в PDF с помощью одного из множества платных конвертеров.
Единственная засада — плохая совместимость HTML со страничной структурой PDF-документа.
Только я начал закапываться в поисках решения этой проблемы, как один коллега поделился ссылкой на статью с альтернативным решением.
Из статьи я узнал, что есть возможность сгенерировать PDF из XPS-документа (этот формат поддерживается в WPF FlowDocument).
К тому же, для генерации использовалась бесплатная библиотека PDFSharp.

Исходники можете скачать с GitHub.
Читать полностью »

С чего все началось

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

Всем доброго времени суток!
Недавно имел опыт создания функций (хранимых процедур) на языке Java в СУБД Oracle (Java Stored Procedures). Постараюсь описать шаги по созданию таких функций, расмотрев пример работы с pdf-файлом.

Вот, что для этого потребуется:

  • СУБД Oracle (в моем случае версии 10)
  • библиотеки iText (версия 1.4.8)
  • Java-код, реализующий требуемые функции

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

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

iPages в PDF или сервис за 2 часа

1. Переименовать расширение в .zip
2. Открыть полученный архив и найти в нём pdf файл
3. Profit!

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

Под катом вас ждет подробное объяснение как это работает.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js