Adobe digital editions как конвертировать в pdf

Обновлено: 04.07.2024

Для преобразования ACSM в PDF вы можете использовать онлайн-конвертеры, приложения или программы, конвертирующие ACSM в PDF. Для удаления DRM необходимо использовать Adobe Digital Editions, т.к. большинство ACSM-файлов - это файлы с защитой Adobe DRM.

По мере развития технологий стало гораздо проще конвертировать такие форматы файлов, как ACSM, DXF, PDF, Word, PPT и т.д. в PDF, EMF, DXF, EPS, ERF и другие форматы. В данной статье вы найдете легкий способ конвертирования ACSM-файлов в PDF, а также узнаете, какой PDF-редактор считается лучшим в Интернете.

Инструкция по конвертированию ACSM в PDF

Мы расскажем, как конвертировать файлы в программе Adobe Digital Editions с помощью нескольких простых действий.

Шаг 1. Скачайте и авторизуйтесь в программе

Нажмите здесь, чтобы загрузить программу Adobe Digital Editions на свой компьютер Windows. Затем запустите установленную ADE, нажмите «Справка> Авторизовать компьютер». Вы увидите всплывающее окно. Просто введите свой Adobe ID и пароль, нажмите «Авторизовать». Нет аккаунта? Просто нажмите «Создать Adobe ID».

acsm в pdf

Шаг 2. Конвертирование ACSM-файла в PDF

Откройте ACSM-файл в Adobe Digital Editions. После добавления файла начнется вы процесс загрузки. После завершения загрузки файл будет открыт автоматически. На вашем компьютере появится готовый PDF-файл.

конвертировать acsm в pdf

Лучший PDF-редактор для пользователей ОС Windows и Mac

PDFelement - лучший PDF-редактор из представленных на рынке. Данная программа предлагает пользователям решения для преобразования файлов различных типов. Редактор оснащен профессиональными инструментами для редактирования, объединения, преобразования и организации PDF-файлов без каких-либо ограничений. Внушительный функционал делает данное программное обеспечение уникальным для своих пользователей. Во-первых, это универсальная программа для создания и конвертирования PDF. С ее помощью вы можете быстро конвертировать PDF в различные форматы и обратно партиями по несколько файлов.

Вы купили книгу, а в стандартном ридере её не открыть. Позже узнаете, что нужна непростая программа Adobe Digital Editions, которая сможет открыть некий файл-ссылку вида URLLink.acsm. Вы устанавливаете, создаете Adobe ID. Открываете файл и вроде бы с облегчением вздыхаете, ведь долгожданная книга вот она — прямо перед вашим носом. Нажимаете клавишу вправо — на нажатие которой программа не откликается. Пробуете провести по сенсорному экрану — и тут недопонимание. Вводите номер страницы и после паузы в несколько мгновений понимаете, что перед вами брат-недоносок Adobe Acrobat'a.

Вы заходите в свойства документа, где находите расположение исходного файла твоей pdf. После нескольких неудачных попыток открыть его разными способами осознаете, что DRM — это зло. Вы не собираетесь выложить эту книгу на торрент или файлообменник, вы же не паразит. Автор потратил множество часов на написание этой книги и хочет с нее заработать, чтобы купить еды и т.п. Вы просто хочете нормально насладиться чтением книги.

Итак, снимаем DRM защиту.

Для этого нам нужны 3 программы:
1. ActivePython. Устанавливаейте версию 2.7.x для 32-битных систем, даже если у вас 64;
2. PyCrypto. Устанавливайте PyCrypto 2.1 for 32bit Windows and Python 2.7 (.zip);
3. DeDRM. Здесь открываете в зависимости от своей ОС нужную папку, где видите bat-файл. Именно на него методом Drag and Drop перетаскивайте ваш горе-pdf файл. В результате рядом с исходным файлом появится точно такой же, но немного с другим именем.

Теперь у вас есть nodrm pdf, который можно открыть в любом pdf-ридере.

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

О песочнице

Это «Песочница» — раздел, в который попадают дебютные посты пользователей, желающих стать полноправными участниками сообщества.

Если у вас есть приглашение, отправьте его автору понравившейся публикации — тогда её смогут прочитать и обсудить все остальные пользователи Хабра.

Чтобы исключить предвзятость при оценке, все публикации анонимны, псевдонимы показываются случайным образом.

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

С portable document format'ом не всё так просто, как DOCX или ODT, что мы рассматривали в прошлый раз, но всё же это всё ещё изначально текстовый, а не бинарный формат. Вы удивлены? Тогда давайте посмотрим на то, что там внутри. Дальше действительно много текста.

Как вы могли заметить, перед нами вполне себе «текстовый» документ, с вкраплениями бинарных данных. Конечно, как книгу pdf в блокноте не почитаешь, но понимать, что написано и что в последствии будет отображено на экране, вполне возможно. Заранее отмечу, что целью этой статьи не является описание формата данных, поэтому буду рассказывать по существу: «Где искать текст?» Более подробную информацию по формату PDF вы найдёте по ссылкам в конце этого небольшого руководства.

Типы данных PDF

PDF поддерживает несколько базовых типов данных (если быть точно восемь), часть из которых нам понадобится для работы — это строки (strings), массивы (arrays), словари (distionaries), потоки (streams) и объекты (objects). Остановимся на каждом.


Как результат, на выходе мы получим две строки:


Из-за своей изначальной восьмибитовости в PDF есть несколько способов для вставки текстовых данных, например, в той же кодировке Unicode. Мы можем использовать вставку по восьмеричным кодам символа ( \053 ), с помощью отдельного двухбайтового hex'а ( <2B> ) или даже их последовательности ( <54776F20> ). Например, следующие строки эквивалентны:


В строках мы в будущем научимся искать текстовые данные, которые содержит в себе PDF-документ.
Массивы
Массивы в PDF заключаются в квадратные скобки и представляют собой просто последовательность группированных объектов. Например: [(Hello,)10(world!)] . Массивы подчас содержат текстовые строки.

Словари
Это обрамлённые в << и >> пары ключ-значение. Словарь часто используется для наделения объекта, который его содержит, свойствами, что описаны в dictionary. Нам же эти данные помогут определить, как, например, расшифровать поток, узнать его длину или, наоборот, отбросить текущий объект, как неинтересный (если это изображение). Перед вами пример обычного PDF-словаря:


После чтения, мой код представит его в виде:

$dictionary = array (
"Length" => "681" ,
"Filter" => true ,
"FlateDecode" => true ,
) ;

Потоки
Потоки представляют последовательность восьмибитных данных между ключевыми словами stream и endstream . Любые бинарные данные, будь-то сжатый текст, изображение или внедрённый шрифт, будут представлены в виде потока. Поток всегда находится внутри объекта (чуть ниже) и характеризуется, как минимум, своей длиной (опция /Length N в словаре) и очень часто методом сжатия (например, /Filter /FlateDecode ). PDF поддерживает достаточное количество форматов сжатия (в том числе и формат шифрования /CryptDecode ), нас же будут интересовать лишь три: наиболее часто используемый Flate (gzip-сжатие) и более редкие ASCII Hex (представление данных в виде шестнадцатеричной строки с конечным символом > ) и ASCII 85-based (сжатие, когда подряд идущие 4 символа исходного текста кодируются 5 символами от ! до y в ASCII таблице).

В stream'ах мы будем искать текст, который хотим получить из PDF-документа. Пример потока вы можете найти во второй половине изображения, что вначале данного топика: да-да, те крякозябрики — это оно и есть.

Объекты
Объекты — это наибольшая структура, с которой на предстоит работать. Объект может содержать внутри себя любой другой тип данных от обычного числа до потока, обрамляется ключевыми словами obj и endobj . Объект имеет свой ID внутри документа, по которому можно на него ссылаться. Нам в первую очередь интересны объекты с потоками внутри себя (не забываем об основной подзадаче), которые почти всегда содержат ещё и набор дополнительных опций в виде словаря. Вот обычный пример объекта внутри PDF-файла (с несжатым содержимым потока):


Что ж на этом вводная часть по внутреннему представлению данных закончилась, переходим к «лакомым» штукам — получение текста из потока, а также получения словарей внутренних преобразований символов (реализацию которого я не встречал доселе).

Где искать текст?

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

Давайте для начала разберёмся, что перед нами, используя полученные ранее знания о типах данных PDF. Перед нами объект со словарём свойств, которые говорят, что длина потока данных 681 байт ( /Length 681 ), что поток сжат ( /Filter ) в gzip ( /FlateDecode ). Уже достаточно информации, чтобы разжать поток данных — подойдёт gzuncompress :

  • Если текст есть в потоке, то он содержится между «маркером» начала текста BT (beginning of text) и конца ET (end of text).
  • PDF может отображать текст или не отображать, в зависимости наличия маркета Tj (отобразить текст) или маркера TJ (отобразить текст с учётом индивидуального символьного позиционирования). Данные маркеры стоят после строки текста или массива строк, как в данном случае ( [<01>17<02>10<03>10<04>17<05>]TJ ).
  • PDF поддерживает индивидуальное позиционирование символов, как я написал выше, это значит, что мы можем задать произвольный и отдельный размер расстояния между каждой парой символов. Об этом подробнее позже
  • ПАРУС кодируется, как 01 02 03 04 05
  • Белеет — как 06 07 08 0707 09 .

Таблица преобразований

На предыдущем примере бы спасовало бы большинство функций получения текста из PDF, которые вы можете найти в свободном доступе в интернетах. Попробуем разобраться что к чему. Итак, нас интересуют ToUnicode CMaps, о которых рассказывается в подразделе о получении текста описания формата PDF от Adobe. Давайте поищем их в нашем файле. Я опять смухлюю и предложу читателю «заведомо правильный кусочек»:

bfchar
Преобразование, что находится между beginbfchar и endbfchar , самое простое. Оно ставит в соответствие первому коду другой. Например, в примере выше мы узнали, что 01 скрывает за собой код символа П . Но это лишь частный случай работы данного преобразования — есть возможность ставить в соответствие одному коду целую строку до 512 символов длины (т.е. до 128 символов в Unicode).

  • <0000> <005E> <0020> — мы работает с диапазоном от 0000 до 005E, каждое значение из которого преобразуется в значения из промежутка 0020 и 007E. Заметили принцип? 0000 преобразуется в 0020, 0001 в 0021, 0002 в 0022 и так далее;
  • <005F> <0061> [<00660066> <00660069> <00660066006C>] — каждое значение из промежутка между 005F и 0061 (т.е. ещё 0060) заменяется на соответствующую последовательность из массива в квадратных скобках: 005F будет заменён на 0066 00 66 (т.е. на ff ), 0060 на fi , а 0061 на ffl .

Алгоритм и код

Используя полученные нами знания мы можем прочитать наш «злополучный» стих о Парусе. Что ж время представить самые интересные куски кода и ссылку на полный исходник:

Код с комментариями вы можете получить на GitHub'е.

Заключение

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

Этот код не работает с индивидуальным позиционированием символов. Задача посильная и не сложная, я возлагаю её решение на плечи читателя.

Этот код не идеален в плане чтения PDF-файла по его внутренним стандартам представления информации: он не ищет страницы, он не будет работать с версиями документа (PDF поддерживает историю изменений), возможно даже, что он не идеально прочитает информацию, которую сможет обработать.

Стоит заметить, что никто не отменял $content = shell_exec('/usr/local/bin/pdftotext '.$filename.' -'); . Но в данном случае стояла задача чтения PDF под любой платформой и на любой площадке.

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

В зависимости от активности и интереса к проблеме, я либо продолжу рассказ о PDF (внутреннее устройство документа, позиционирование, шрифты, внутренние ссылки), либо вернусь к теме «Текст любой ценой» на примере RTF. Спасибо за внимание!

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

Как говорят интернеты,

.acsm – формат, используемый программой Adobe Digital Editions для отправки данных активации на удаленный сервер, который использует их для создания защищенной книги в формате PDF (или epub).

В моём конкретном случае прекрасный, чудесный, восхитительный библиотечный сайт даёт возможность почитать pdf-книжку при помощи этой самой Adobe Digital Editions на пару дней. После этого, очевидно, книжка стухнет. После получасовых танцев с бубном я таки установила себе адобовскую прогу, но к тому времени решила, что столько труда затрачивать на то, чтобы файл испарился через два дня, нецелесообразно. Поэтому я решила, что умельцы уже давно умеют превращать подобные файлы в годные pdf и, похоже, не ошиблась.

Правильный сайт дал мне основную инфу: для того, чтоб осуществить желаемое, необходимо:

1. Найти загруженный Adobe Digital Editions и защищённый от доброжелателей файл pdf в папке Мои документы>My Digital Editions.
2. Снять DRM (Digital Rights Management, технические средства защиты авторских прав) с помощью соответствующей проги. У меня сработала EPubBee PDF DRM Removal - маленькая и бесплатная. При работе с ней надо выбрать папку, в которой лежит защищённый файл (а не конкретно сам файл). Папка с пофиксенным файлом по умолчанию создаётся в D:\Program Files\ePUBee DRM Removal. После этого файл отлично открывается Foxit Reader-ом и печатается в правильном виде. Adobe Reader же чует подвох и не открывает. Но всё равно - результат мне более чем нравится. Для верности подождём два дня, но, думаю, всё будет тип-топ. (UPD: да, три дня прошло, всё работает.)

В случае acsm, загружающего ePub, схема действий та же.

UPD от 16/03/2016:
"Из альтернативных программ нашелся ePub Converter. Переконвертировал pdf так, что даже Adobe Reader не нашел к чему придраться".
Спасибо Isilme Tindome


To convert ACSM to PDF, you can use online converters, ACSM to PDF apps or software. You have to use Adobe Digital Editions to remove DRM since most ACSM files are Adobe DRM protected files.

With the increased technological growth, it is simple to convert different file formats such as ACSM, DXF, PDF, Word, PPT, among others, into different output formats such as PDF, EMF, DXF, EPS, ERF, and many more. This article, therefore, explains how you can easily convert your ACSM to PDF as well as describing the best PDF editor on the Internet.

Steps to Convert ACSM to PDF

Here we will show you how to achieve the conversion by using a software called Adobe Digital Editions in just a few steps.

Step 1. Download and Authorize the Program

Click here to download the program Adobe Digital Editions on your Windows computer. Then launch installed ADE, click "Help > Authorize Computer." A window below will pop up. Simply enter your Adobe ID and password, tap "Authorize" to authorize it. Don't have Adobe account? Just click "Create an Adobe ID" to create one.

acsm to pdf

Step 2. Convert ACSM File to PDF

Open your ACSM file with Adobe Digital Editions. Once the file has been added to it, you will see the following download process. After it finishes downloading, the file will be opened automatically. You will get a complete PDF file on your computer.

convert acsm to pdf

Best PDF Editor and Converter for Windows and Mac Users

The best PDF editor on the internet is the PDFelement. This tool offers the solution to convert PDFs to other formats. It is packed with professional tools that allow users to edit, combine, transform, and organize PDF files without any limitations. The software has many features that make it unique to its users. First, it is a versatile PDF converter and creator. In this case, it allows you to transfer PDF files from or to various formats in batches at an incredible speed.

Читайте также: