PDF::API2 имеет множество функциональных возможностей, но он чрезвычайно эзотеричен. Я обнаружил, что документацию очень сложно найти для получения необходимой информации. Вы должны получить все «в самый раз», чтобы PDF-файл отображался должным образом, и, если ваши требования меняются, это имеет тенденцию иметь каскадный эффект на ваш существующий код, чтобы все работало вместе хорошо. Например, вставка одного элемента в определенное место может означать, что вам необходимо пересчитать позиции всех других элементов, отображаемых на этой странице, с точностью до одной точки, в зависимости от того, как вы используете API.
В результате мы совсем недавно отказались от решения, которое использовало PDF::API2, и вместо этого начали генерировать HTML, который мы затем преобразовали в PDF с помощью внешнего инструмента. Есть несколько хороших бесплатных, например PDF::FromHTML, предложенный Синан Юнур. Есть также несколько более многофункциональных коммерческих, если вы хотите поэкспериментировать со своим HTML и красиво перевести его в PDF (хотя я лично ими не пользовался).
Если вам нужно выполнить некоторые простые манипуляции с существующими PDF-файлами, а не создавать их, я бы использовал (и использую) CAM::PDF.
Короче говоря, я не рекомендую PDF::API2, если только вы не готовы потратить много времени на выяснение всех его тонкостей и личную поддержку своего приложения в будущем. Он чрезвычайно мощный и многофункциональный, но если вы точно не знаете, что делаете, отсутствие документации и примеров будет мешать вам больше, чем поможет модуль.
person
Adam Bellaire
schedule
08.10.2009