Конвертируйте форматированный текст из Tinymce и используйте его для заполнения части документа в формате PDF - PullRequest
0 голосов
/ 03 апреля 2019

У нас есть приложение, которое берет текст из формы (в конечном итоге это электронная таблица), извлекает его из базы данных и создает PDF-документ. Использование fdpf и все работает хорошо. Но есть часть заголовка документа, которая в настоящее время отправляется в виде простого текста от <texarea>, и мы хотим обновить эту часть до расширенного текста с использованием tinymce. Я легко могу использовать https://github.com/spipu/html2pdf, чтобы создать хороший, полный документ из текста, но это только небольшая часть документа. Этот заголовок не является "Заголовком", который взят из изображения JPG.

Я пробовал несколько подходов, включая создание отдельного документа с частью расширенного текста (html) и попытку объединить два, что прекрасно работает, если эти две страницы разные, но не очень хорошо при попытке позиционировать один внутри другого, когда один имеет различные размеры, формы, линии. Еще я попробовал использовать imagemagick для преобразования PDF-файла, взятого из части расширенного текста, в формат JPG, а затем вставить изображение в другой PDF-файл. Это прекрасно работает, если заголовок не содержит в основном текст (как он будет). Изображения хорошо проходят, но текст становится нечитаемым из-за моего отсутствия, если мастерство манипулирования изображениями.

с использованием fpdf

class foo extends FPDF
{
    public function fooBody ($bar) {

`````````````````````````````````


$ data - объект, содержащий дБ-сущности

текущие строки для заголовка (необходимо удалить html rn)


$data->heading = preg_replace("/&nbsp;/",'',$data->heading);

$this->MultiCell(190, 3, trim(strip_tags($data->heading)), 0, 'L', 0);


$ foo = new foo (); $ Foo-> fooBody (бар); добавить страницу ... выход().. и т.д.

хотел бы я сделать что-то вроде ниже


 $html2pdf->writeHTML($data34->heading);

 $richTextHeading = $html2pdf->output('file.pdf', 'S');

 foo->MultiCell(190, 3,$richTextHeading, 0, 'L', 0);

Я хочу использовать тот же самый документ, который у меня есть сейчас с fpdf, но каким-то образом включить какой-то преобразованный html для небольшой его части, но в настоящее время я могу иметь только один (текущий документ) или другой (html документ).

1 Ответ

0 голосов
/ 13 апреля 2019

Если кто-нибудь сталкивался с этим потоком, я просто использовал TCPDF и переписывал свой старый код для работы с TCPDF.Удивительно, но мне нужно изменить имена шрифтов только в нескольких местах (Ariel-> helvetica) и явно указать высоту ячейки и поля.Старый код работал в основном как есть, и это

   $this->MultiCell(190, 3, trim(strip_tags($data->heading)), 0, 'L', 0);

Теперь просто это

   $this->writeHTML( $data->heading);
...