ImageMagick: TIFF в PDF из PHP - PullRequest
       28

ImageMagick: TIFF в PDF из PHP

1 голос
/ 15 января 2010

Как я могу преобразовать 2 изображения в формате TIFF в PDF, я уже знаю, как извлечь изображение из БД, и я печатаю его, используя echo и настраивая тип MIME.

Но, правильно, мне нужно использовать параметр дуплексного принтера, поэтому мне нужен способ создания PDF-файла изнутри моей страницы PHP, который должен содержать оба изображения TIFF (по одному на страницу). Как это сделать? Что мне нужно, чтобы php работал с этой библиотекой.

Большое спасибо.

РЕДАКТИРОВАТЬ:

Самостоятельно размещаемое приложение, у меня есть сервер (на самом деле я использую WAMP 2).

Я извлекаю изображения из БД MySQL (хранится с использованием LONGBLOBS).

Ответы [ 2 ]

2 голосов
/ 15 января 2010

Существует очень простой PHP-скрипт, который взаимодействует с ImageMagick:

Как конвертировать многостраничный TIFF в PDF в PHP

Я сам этим не пользовался, но все выглядит хорошо. Для этого вам понадобится

  • Установлен ImageMagick
  • Ghostscript установлен

в связанной статье описывается, как установить их в среде Ubuntu Linux.

Другой путь - вставка изображений непосредственно в автоматически сгенерированный PDF-файл без ImageMagick. Это может сделать самая известная библиотека для создания файлов PDF, FPDF , , но только для JPEG, PNG и GIF .

Может быть, одна из этих работ для вас.

1 голос
/ 17 мая 2010

Что вам действительно нужно, так это библиотека, которая предоставляет вам механизм составления PDF. И, конечно, вам нужен этот движок для поддержки вставки изображений (в частности, TIFF).

Лучший вариант - iText.

public void createPdf(String filename) throws DocumentException, IOException 
{
   // step 1
    Document document = new Document();
    // step 2
    PdfWriter.getInstance(document, new FileOutputStream(filename));
    // step 3
    document.open();
    // step 4
    document.add(new Paragraph("PDF Title"));
    // step 5
    document.add(new Image("Tiff image path..."));
    // step 6
    document.close();
}

Надеюсь, это поможет!

...