Я работаю над онлайн-порталом, где исследователи могут загружать свои исследовательские работы. Одним из требований является то, что все PDF-файлы хранятся в формате PDF / A. Поскольку я не могу полагаться на пользователей для создания документов PDF / A, мне нужен инструмент для проверки и преобразования стандартных PDF-файлов в формат PDF / A.
Какой из лучших инструментов вы знаете?
Предпочитаются инструменты с открытым исходным кодом, но поиск не выявил. iText может создавать PDF / a, но конвертировать нелегко, так как вам нужно прочитать каждую страницу и скопировать ее в новый документ, потеряв все закладки и аннотации в этом процессе. (По крайней мере, насколько я знаю, если вы знаете о простом решении, дайте мне знать).
API должны быть доступны либо для PHP, либо для Java, либо для командной строки. Пожалуйста, не указывайте ни GUI-only, ни Online-only решения.
Я не уверен, что все ваши цели могут быть удовлетворены одновременно. История вокруг PDF / A намного сложнее, чем преобразования формата, такие как tiff to png.
Подводя итог: я думаю, что вам лучше разместить какую-то или всю ответственность за соблюдение производителями PDF-файлов. Конечно, это не значит, что вы не можете им помочь: если вы выясните, какие инструменты большинство используют для создания своих документов, вы можете указать документацию о PDF / A и конкретных инструментах. (как немного экстремальный пример такой документации, посмотрите на это )
Удачи вам в ваших усилиях.
Я работал во Французской национальной библиотеке, чтобы создать архивную систему, которая делала такие вещи. Как большинство из десяти лучших библиотек в мире, мы использовали JHOVE для распознавания форматов файлов.
JHOVE может определить, являются ли файлы PDF / A или нет, и может даже подтвердить их. Он также знает 7 других видов PDF, см. Подробности .
JHOVE является открытым исходным кодом, он поддерживается JSTOR и Библиотекой Гарвардского университета. Он довольно прост в использовании .
Для части идентификации вы можете попробовать инструмент Droid (идентификация объекта цифровой записи), который обеспечивает доступ к техническому реестру Pronom (который содержит PDF / A ).
Проект API Open Office может быть тем, что вы ищете. Начиная с версии 2.4, Open Office поддерживает документы PDF / a. Вот пример кода с сайта о том, как конвертировать документы, этот пример находится на Java.
Я не уверен в документах PDF /, но вы посмотрели на jodconverter? Он может конвертировать много разных форматов для вас, и он является открытым исходным кодом. Мы используем его довольно широко в нашем проекте.