php png to pdf

Convert image to pdf php

4 Answers 4

Wrap your image inside HTML and use some HTML to PDF converter like fpdf or mpdf

If you have ImageMagick installed on your machine you could use the ImageMagick bindings for PHP to execute some simple PHP code to do this task:

Alternatively if you don’t have ImageMagick available you could use a commercial API such as Zamzar which supports image to PDF conversion via PHP (more info in the docs).

Code to use this would be:

php png to pdf. Смотреть фото php png to pdf. Смотреть картинку php png to pdf. Картинка про php png to pdf. Фото php png to pdf

You can use convertapi service, easy to install:

to convert multiple files and other options check https://github.com/ConvertAPI/convertapi-php

php png to pdf. Смотреть фото php png to pdf. Смотреть картинку php png to pdf. Картинка про php png to pdf. Фото php png to pdf

For just a few images, do it manually and easily with the Chrome web browser. You wont need an internet connection.

Not the answer you’re looking for? Browse other questions tagged php image pdf or ask your own question.

Linked

Related

Hot Network Questions

Subscribe to RSS

To subscribe to this RSS feed, copy and paste this URL into your RSS reader.

site design / logo © 2021 Stack Exchange Inc; user contributions licensed under cc by-sa. rev 2021.9.17.40238

By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.

Источник

Generating PDF files with PHP and FPDF

Большинство web-сервисов экспортируют данные в разных форматах для дальнейшего использования. Данная статья о том, как экспортировать данные в pdf-формате.
Хотя многие знают как это делать, я опишу кратко для тех кто не знает.

PHP позволяет нам генерировать файлы в формате pdf налету. FPDF — это бесплатный код на языке php, позволяющий создавать документы в формате pdf и производить с ними различные манипуляции.

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

Почему FPDF?
Альтернатива — это использование FPDF, бесплатный класс содержащий большое количество функций для создания и манипулирования PDF-документами. Ключевое слово для данного момента — это ее бесплатность. Вы можете скачать, использовать и модифицировать данный класс как вам заблагорассудится. В дополнение к бесплатности, эта библиотека намного проще, чем PDFlib. Для использования PDFlib необходимо установить ее как расширение к PHP, в то время как FPDF может быть подключена в программу напрямую.

Создание документов PDF
Для того чтобы начать, необходимо скачать код FPDF с сайта FPDF Web site и включить в программу. Например, вот так

$pdf->SetAuthor(‘Lana Kovacevic’);
$pdf->SetTitle(‘FPDF tutorial’);

В функцию AddPage () можно передать параметры «P» или «L» для указания ориентации страницы. Функция SetDisplayMode определяет как будет отображена страница. Вы можете определить параметры увеличения и разметки. В примере мы используем 100% увеличение и разметку по умолчанию, определенную в программе, используемой для просмотра.

Сейчас, когда у нас есть страница, давайте вставим в нее изображение для того чтобы сделать страницу приятней, также мы добавим ссылку. Мы отобразим логотип FPDF используя функцию Image и передадим в нее следующие параметры — название файла, размерность и адрес.

$pdf->SetXY(10,50);
$pdf->SetFontSize(10);
$pdf->Write(5,’Congratulations! You have generated a PDF. ‘);

Здесь мы указали имя файла и параметры вывода, в данном случае «I». «I»-параметр выведет результат в браузер.

require(‘fpdf.php’);
//create a FPDF object
$pdf=new FPDF();
//set document properties
$pdf->SetAuthor(‘Lana Kovacevic’);
$pdf->SetTitle(‘FPDF tutorial’);
//set font for the entire document
$pdf->SetFont(‘Helvetica’,’B’,20);
$pdf->SetTextColor(50,60,100);
//set up a page
$pdf->AddPage(‘P’);
$pdf->SetDisplayMode(real,’default’);
//insert an image and make it a link
$pdf->Image(‘logo.png’,10,20,33,0,’ ‘,’http://www.fpdf.org/’);
//display the title with a border around it
$pdf->SetXY(50,20);
$pdf->SetDrawColor(50,60,100);
$pdf->Cell(100,10,’FPDF Tutorial’,1,0,’C’,0);
//Set x and y position for the main text, reduce font size and write content
$pdf->SetXY (10,50);
$pdf->SetFontSize(10);
$pdf->Write(5,’Congratulations! You have generated a PDF.’);
//Output the document
$pdf->Output(‘example1.pdf’,’I’);

Сейчас когда мы научились создавать документы, посмотрим что еще можно сделать, используя FPDF. Пример ниже показывает нам как создать верх и низ (хедер и футер 🙂 ) нашего документа.

require(‘fpdf.php’);
class PDF extends FPDF
<
function Header()
<
$this->Image(‘logo.png’,10,8,33);
$this->SetFont(‘Helvetica’,’B’,15);
$this->SetXY(50, 10);
$this->Cell(0,10,’This is a header’,1,0,’C’);
>
function Footer()
<
$this->SetXY(100,-15);
$this->SetFont(‘Helvetica’,’I’,10);
$this->Write (5, ‘This is a footer’);
>
>
$pdf=new PDF();
$pdf->AddPage();
$pdf->Output(‘example2.pdf’,’D’);

Как вы видите мы создали дочерний класс, используя наследование и создания функций Header и Footer. Затем мы создали новый объект и добавили страницу в документ. Функция AddPage автоматически вызовет функции Header и Footer. В конце мы вывели полученную информацию в файл с названием example2.pdf, используя значение «D». В этом случае браузер предложит сохранить данный файл.

Итак, мы изучили основы создания PDF-документов, для более подробной информации используйте FPDF Web site.

Источник

Dompdf – мощнейший PHP-класс для конвертирования HTML-документов в PDF-файлы

Не так давно передо мной встала задача – организовать экспорт HTML-данных в один из популярных графических файлов или же в PDF.

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

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

Это, конечно, меня не огорчило, и потратив еще немного времени (как говорится, кто ищет – тот всегда найдет), я нашел-таки тот инструмент, который помог мне решить поставленные задачи.

Это класс «Dompdf» для PHP. Что же он из себя представляет?

Возможно, что-то забыл упомянуть, но согласитесь – звучит впечатляюще.

Так вот, именно этот класс помог мне превратить некий документ HTML в идентичный PDF. Именно тому, как им пользоваться, и будет посвящена эта статья.

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

Далее загружаете файлы к себе на сервер и осуществляете подключение скрипта в вашем PHP-файле:

Здесь мы указываем документ непосредственно в теле скрипта, но также вы можете заменить всю строку, например, на:

Где «LINK» – ссылка на HTML-страницу, которую нужно конвертировать.

Ну и финальные штрихи – это добавить соответствующие теги класса:

И общая картина получается такая:

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

Еще один важный момент: если ссылки на изображения прописаны не относительные, а абсолютные (то есть не «/logo.png», а «https://your_site.com/logo.png»), то в таком случае откройте файл dompdf_config.inc.php в папке /dompdf/ и строку:

Вот, собственно, и все. Очень важный момент: если вы получаете ошибку при конвертировании, то всего скорее, вы используете новые свойства стилей (как было у меня), в таком случае – просто постарайтесь оптимизировать (упростить) свой код.

Источник

Библиотеки для конвертирования PDF документа в картинку

«Клавиша Print Screen отлично справляется с поставленной задачей. Что может быть проще, чем сохранить документ как изображение?» — спросите вы. Долгое время я работал над задачами сохранения отчётов и форм в формате PDF. Но даже с простыми многостраничными таблицами цифр не все PDF генераторы справлялись одинаково успешно.

Оставалось выбрать самый подходящий под требования заказчика и, по-возможности, с хорошей англоговорящей, англо пишущей службой поддержки (не с полуострова Индостан):

Требования к PDF конвертерам
Начало испытаний

Для тестовых целей был выбран одностраничный PDF файл 3BigPreview.pdf (взят с официального сайта компании Adobe). Он включает в себя большое количество графических элементов, демонстрируя возможности визуализации компонентой графических объектов PDF и их свойств.

ABCPDF

Запустить пример для данной библиотеки на 64-разрядной машине удалось не сразу, лишь поменяв платформу с AnyCPU на x86 был получен результат. Проблема возникла с выставлением правильного разрешения картинки. Картинку правильного размера 612 x 792 пикселей удалось получить только явно выставив разрешение результирующей картинки в 72 точки на дюйм, что странно, так как другие компоненты выставляют 96dpi (для Win7). Правильное отображение иероглифов Kinsoku Shori порадовало. Некоторые буквы выглядят более яркими чем остальные, что говорит о не совсем честном использовании сглаживания (antialiasing). Результат хороший для тех кому не важно, что используется не 100% managed код, а мы идём дальше.
Кусок кода для ABCpdf:

Результат: php png to pdf. Смотреть фото php png to pdf. Смотреть картинку php png to pdf. Картинка про php png to pdf. Фото php png to pdf

Adobe Acrobat 10.0 Type Library

Нетрудно понять, что нативная библиотека Adobe не может быть не в фаворитах. Но вызовы com объектов, это не совсем то, чего нам хотелось получить, тем более, что для этого нужна установленная Pro версия продукта.
Кусок кода для Adobe:

Результат: php png to pdf. Смотреть фото php png to pdf. Смотреть картинку php png to pdf. Картинка про php png to pdf. Фото php png to pdf

Компонент хорошо справился с тестовым испытанием. Удобный API, есть возможность настраивать шрифты и отключаемое рисование аннотаций. Изображение выглядит чётким. Все элементы оригинального PDF документа нарисованы. Заметил, что при конвертировании документа все восемь ядер рабочей машины были задействованы, скорее всего это будет удобно для тех, кто хочет увеличить производительность приложения увеличением оперативной памяти и количества процессоров рабочей системы.
Кусок кода для Apitron:

Результат: php png to pdf. Смотреть фото php png to pdf. Смотреть картинку php png to pdf. Картинка про php png to pdf. Фото php png to pdf

O2S.Components.PDFRender4NET

Румынский компонент удовлетворительно справился с тестовым испытанием. Не все элементы документа сохраняются правильно. Как видно из результирующего файла все элементы спецификации поддерживаются. Есть явные проблемы с рисованием текста.
Кусок кода для O2S:

Результат: php png to pdf. Смотреть фото php png to pdf. Смотреть картинку php png to pdf. Картинка про php png to pdf. Фото php png to pdf

xPDF Wrapper Library (PDFLibNET)

Генерация тестового примера не удалась. Изображение выглядит размытым, текст не читается. При конвертировании тестового файла получили ошибки.
Кусок кода для PDFLibNET:

Результат: php png to pdf. Смотреть фото php png to pdf. Смотреть картинку php png to pdf. Картинка про php png to pdf. Фото php png to pdf

PDFSharp (GhostScript и другие обёртки)

PDFSharp, как и другие обёртки известного инструмента GhostScript (например gouda, GhostscriptSharp) работает специфично и не всегда предсказуемо. Потратив несколько часов времени получилось сделать только извлечение картинок, целиком документ сохранить в виде картинки не получилось. Отмечу как хорошую идею для новой статьи.
Можно здесь же отметить, всеми любимый, iTextSharp. Удобный инструмент, но не для нашей задачи.

PdfFocus от SautinSoft

В мой обзор попался также отечественный компонент. Но, к сожалению, с испытаниями он не справился.
На тестовом файле он выдал NRE ошибку. Зато, на других файлах он неплохо показал себя.
(Автору: «Максим, я уверен, что у Вас отличный софт и эта мелочь будет быстро исправлена.»)
Кусок кода для SautinSoft:

TallCompоnents.PDF.Rаsterizer

Нидерландский компонент хорошо справился с тестовым испытанием. Сложности специфичного API были компенсированы базовыми знаниями Graphics. Видны небольшие проблемы с рисованием текста.
Кусок кода для TаllCоmponents:

Результат: php png to pdf. Смотреть фото php png to pdf. Смотреть картинку php png to pdf. Картинка про php png to pdf. Фото php png to pdf

Источник

Php png to pdf

Convert a pdf to an image

php png to pdf. Смотреть фото php png to pdf. Смотреть картинку php png to pdf. Картинка про php png to pdf. Фото php png to pdf php png to pdf. Смотреть фото php png to pdf. Смотреть картинку php png to pdf. Картинка про php png to pdf. Фото php png to pdf php png to pdf. Смотреть фото php png to pdf. Смотреть картинку php png to pdf. Картинка про php png to pdf. Фото php png to pdf php png to pdf. Смотреть фото php png to pdf. Смотреть картинку php png to pdf. Картинка про php png to pdf. Фото php png to pdf

This package provides an easy to work with class to convert PDF’s to images.

Spatie is a webdesign agency in Antwerp, Belgium. You’ll find an overview of all our open source projects on our website.

php png to pdf. Смотреть фото php png to pdf. Смотреть картинку php png to pdf. Картинка про php png to pdf. Фото php png to pdf

We invest a lot of resources into creating best in class open source packages. You can support us by buying one of our paid products.

We highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using. You’ll find our address on our contact page. We publish all received postcards on our virtual postcard wall.

The package can be installed via composer:

Converting a pdf to an image is easy.

You can get the total number of pages in the pdf:

By default the first page of the pdf will be rendered. If you want to render another page you can do so:

You can override the output format:

You can set the quality of compression from 0 to 100:

Issues regarding Ghostscript

This package uses Ghostscript through Imagick. For this to work Ghostscripts gs command should be accessible from the PHP process. For the PHP CLI process (e.g. Laravel’s asynchronous jobs, commands, etc. ) this is usually already the case.

However for PHP on FPM (e.g. when running this package «in the browser») you might run into the following problem:

This will instruct PHP FPM to look for the gs binary in the right places.

Please see CHANGELOG for more information what has changed recently.

Please see CONTRIBUTING for details.

If you discover any security related issues, please email freek@spatie.be instead of using the issue tracker.

You’re free to use this package, but if it makes it to your production environment we highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using.

Our address is: Spatie, Kruikstraat 22, 2018 Antwerp, Belgium.

We publish all received postcards on our company website.

The MIT License (MIT). Please see License File for more information.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *