Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> FPDF c страницы с разными параметрами 
:(
    Опции темы
Ninazu
Дата 1.5.2013, 15:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 10.2.2013
Где: Киев

Репутация: 1
Всего: 1



Стоит задача добавить водный знак на уже существующий PDF.
Казалось бы тривиальная задача. Вооружившись найденными на просторах модулями FPDF и FPDI. Всё бы хорошо. Но они коверкают "нестандартные документы" вроде этого.
user posted image
Получается вот такая кака с фиксированными страницами
user posted image
Так копирую cтраницы из оригинального документа.
Код

$pagecount = $pdf->setSourceFile($fname);
for ($n = 1; $n <= $pagecount; $n++) {
  $pdf->AddPage();
  $tplidx = $pdf->ImportPage($n);
  // $tplidx-> ????
  $pdf->useTemplate($tplidx);
}
$pdf->Output($tmpname);

Может кто-то уже сталкивался? Либо знает место где пофиксить, а то модули громадные я в них теряюсь
PM MAIL   Вверх
Ninazu
Дата 2.5.2013, 17:31 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 10.2.2013
Где: Киев

Репутация: 1
Всего: 1



Может кому-то пригодиться
Код

$pagecount = $pdf->setSourceFile($fname);
for ($n = 1; $n <= $pagecount; $n++) {
    $tplidx = $pdf->ImportPage($n);
    $specs = $pdf->getTemplateSize($tplidx);
    $mixd = array($specs['w'], $specs['h']);
    $pdf->addPage($specs['w'] < $specs['h'] ? 'P' : 'L',$mixd);
    $pdf->useTemplate($tplidx);
}
$pdf->Output($tmpname);

                

Это сообщение отредактировал(а) Ninazu - 2.5.2013, 19:23
PM MAIL   Вверх
IgorIV
Дата 2.5.2013, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 642
Регистрация: 7.9.2009

Репутация: 2
Всего: 8



Ninazu, а ты бы не мог сказать в чём разница между кодами?
А так - спасибо. Пригодится ...
PM MAIL   Вверх
Ninazu
Дата 2.5.2013, 19:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 10.2.2013
Где: Киев

Репутация: 1
Всего: 1



Просто в первом посте я еще не знал как узнать параметры страницы, и выставить их при добавлении новой

Алгоритм получился такой

1. Открываем файл источник
2. В цикле проходим по всем страницам.
3. Получаем текущую страницу
4. Узнаём её высоту и ширину
5. Смотрим пропорции и определяем ориентацию, альбомная/книжная
6. Создаём новый лист уже с учётом ориентации и размеров страницы

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1164 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.