首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用PHP生成PDF文件(包括PNG图像)

使用PHP生成PDF文件(包括PNG图像)
EN

Stack Overflow用户
提问于 2012-07-19 11:19:19
回答 1查看 2.8K关注 0票数 0

问题:需要转换从textarea获取的base64代码PNG图像,一个PNG图像(扩展名为二进制文件)。image.png),并将图像存储在服务器上.然后在PHP和FPDF类的帮助下生成PDF文件(example1.pdf),插入先前保存的PNG图像。生成的PDF文件也存储在服务器上。

下面是createPdfFromBase64.php文件,我已经转到这个文件:

代码语言:javascript
运行
复制
<?php
    #header('Content-Type: image/png');

    $base64 = $_POST['base64']; // Получаем base64 код PNG изображения из <textarea id="base64" name="base64"></textarea>

    #echo("$base64");

    $base64 = str_replace(' ','+',$base64); // If you want to save data that is derived from a Javascript canvas.toDataURL() function, you have to convert blanks into plusses. If you do not do that, the decoded data is corrupted.

    $data = base64_decode($base64); // Декодирует данные base64 и записывает их в переменную $data

    echo("$data");

    $filename = "image.png";

    // Пишем содержимое в файл image.png
    file_put_contents($filename, $data); // Сохраняем изображение image.png на сервере

    // Подключаем класс FPDF, для генерации PDF документа
    require('/home/u552896297/public_html/FPDF/fpdf.php');

    // Создаем FPDF объект
    $pdf= new FPDF();

    // Устанавливаем свойства документа
    $pdf->SetAuthor('Evgeniy Privalov'); // Устанавливаем автора PDF документа.
    $pdf->SetTitle('PDF generator'); // Устанавливаем title PDF документа.

    // Настройки страницы. Теперь когда главное сделано, приступим к созданию страницы.
    $pdf->AddPage('P'); // Книжная ориентация страницы
    $pdf->SetDisplayMode('real','default'); //Функция SetDisplayMode определяет как будет отображена страница. Вы можете определить параметры увеличения и разметки. В примере мы используем 100% увеличение и разметку по умолчанию, определенную в программе, используемой для просмотра.

    // Вставляем PNG картинку в верхний левый угол с разрешением в 300 точек на дюйм (300dpi)
    $pdf->Image('image.png', 10, 10, -300);

    // В конце мы выведем наш результат используя функцию Output
    $pdf->Output('example1.pdf', 'F'); // Здесь мы указали имя файла и параметр вывода, в данном случае "F". "F"-параметр сохранит результат в файл example1.pdf
?>

index.html文件在这里- http://print-online.16mb.com/。必须首先按“保存名片”(“Сохранитьвизитку”),然后单击“转换为PDF”(“КонвертироватьвPDF")。

,但在生成PDF时,错误FPDF错误:不是PNG文件: image.png

请帮我解决这个问题!

UPD: image.png文件是在服务器上创建的,但它没有出现在浏览器!http://print-online.16mb.com/image.png中。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-19 11:57:53

很明显,上传或编辑后会出问题。使用http://www.php.net/manual/en/ref.fileinfo.php测试上传的图像,并查看返回的信息是否与您预期的一样。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11559730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档