Перейти к содержанию

php экспорт в pdf


Рекомендуемые сообщения

Есть проблема с экспортом отчета из php в pdf

Для этого используется модуль fpdf. А проблема в том что не хочет работать с кириллицей уже наверно пол интернета прочитал

А все равно в место Русских букв выходит абракадабра.

Может есть у нас кто сталкивался с данной проблемой ? Кто как решил ? Поделитесь опытом так сказать :yes:

Ссылка на комментарий
значит с базы неправильно идет конвертация

Дык пробовал для uft модуль utfpdf та же фигня..

в базе мускула кодировка utf8, ну и соответственно выdод страниц тоже в uft ну не кошерно выводить в cp1251.

Ссылка на комментарий

СМОК можно кириллические шрифты добавить и не мучится. Вот тебе в помощь http://phpclub.ru/detail/article/fpdf. Или как вариант TCPDF с ним проблем с кодировкой не наблюдал. http://i-novice.net/generiruem-pdf-s-pomoshhyu-tcpdf/

Ссылка на комментарий
это не для жумлы делаешь?
.

нет

Добавлено спустя 2 минуты 12 секунд:

СМОК можно кириллические шрифты добавить и не мучится. Вот тебе в помощь http://phpclub.ru/detail/article/fpdf. Или как вариант TCPDF с ним проблем с кодировкой не наблюдал. http://i-novice.net/generiruem-pdf-s-pomoshhyu-tcpdf/

Как раз кирилик шрифты уже есть, только один фиг абракадабра, буду смотреть в сторону tcpfd.

Ссылка на комментарий

Вопрос остается открытым после победы над кириллицей теперь такая фигня pdf почему то не выводит все данные из запроса

а только первую строку.

<?php

define('SQL_INC',1);

require 'inc/common.inc.php';

require_once 'inc/pdf/tcpdf.php'; // подключаем библиотеку

// создаем объект TCPDF - документ с размерами формата A4

// ориентация - книжная

// единицы измерения - миллиметры

// кодировка - UTF-8

$pdf = new TCPDF('P', 'mm', 'A4', true, 'UTF-8', false);

# $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

// убираем шапку и футер документа

$pdf->setPrintHeader(false);

$pdf->setPrintFooter(false);

$pdf->SetMargins(20, 25, 25); // устанавливаем отступы (20 мм - слева, 25 мм - сверху, 25 мм - справа)

$pdf->AddPage(); // создаем первую страницу, на которой будет содержимое

$pdf-> SetFont('arial','',16); // Устанавливаем шрифт и его размер

$pdf->SetTextColor(255,0,0); // Устанавливаем цвет текста заголовка (красный)

$pdf->SetFillColor(255,255,0); // Устанавливаем цвет заливки (желтый)

$pdf->SetXY(20,20); // Задаем абсциссу и ординату текущей позиции

$pdf->SetDrawColor(255,0,0); // Устанавливаем цвет для рисования контура вокруг заголовка (красный)

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

// 100 - ширина ячейки; 10 - высота ячейки;

// $text - текст; 1 - толщина рамки;

// 1 - текущая позиция после вывода ячейки будет в начале следующей строки;

// 'C' - выравнивание по центру; 1 - заливка фона ячейки

//Запрос

$db->sql_query("select user_name from users where id='$id_user'");

$user = $db->sql_fetchrow();

$logo='Ведомость по контрагенту:';

$pdf->Cell(170, 10,"$logo $user[0]", 1, 1, '',1);

$pdf->Image('templates/img/logo.jpg',3,3,40,15,'JPG','https://localhost/'); // Вставляем изображение, которое будет ссылкой

$pdf->SetFont('arial','',12); // Устанавливаем шрифт для текста

$pdf->SetXY (10,40); // Устанавливаем позицию начала текста

$pdf->SetTextColor(0,0,0); // Устанавливаем цвет текста

$pdf->SetDrawColor(0,0,0); // Устанавливаем цвет для рисования контура вокруг заголовка (красный)

$lt=date("d_m_y"); // Определяем дату

//Запрос данных

$sql = "select kontragent, val, nach_dolg, vverh_dolg, vniz_dolg, nash_dolg, klient_dolg from vk where id_user='0000114'";

$result = $db->sql_query($sql);

while ($client = mysql_fetch_array($result)){

$html = <<

table {

font-family:arial;

font-size:8pt;

background-color: #cfcfcf;

}

table.data {

background:#cfcfcf;

margin-bottom:5px;

}

td.head {

background:#e7e7e7;

font-weight:arial;

height:10px;

}

td.data1 {

background:#ffffff;

height:10px;

}

td.data2 {

background:#ffffc0;

height:10px;

}

Клиент

Вал

Нач. долг

+

-

На конец периода

Переплата

Задолженность

$client[kontragent]

$client[val]

$client[nach_dolg]

$client[vverh_dolg]

$client[vniz_dolg]

$client[nash_dolg]

$client[klient_dolg]

EOF;

}

$pdf->writeHTML($html, true, false, true, false, '0');

$pdf->lastPage();

$pdf->Output('doc.pdf', 'I'); // выводим документ в браузер, заставляя его включить плагин для отображения PDF (если имеется)

?>

Ссылка на комментарий

СМОК сложно ты всё делаешь как то. Лучше создай макет документа с метками в нужных местах. Я решал подобную задачу так. Создавал специальную HTML страничку-шаблон. Потом парсил шаблон вставляя в место меток данные и генерируя PDF документ.

По поводу твоей проблемы, сходу ошибок не видно. Возможно дело не в TCPDF. Запрос без ошибок проходит ? Что возращает mysql_fetch_array ? Ради теста попробуй просто вывести данные, посмотри что получится.

Ссылка на комментарий
СМОК сложно ты всё делаешь как то. Лучше создай макет документа с метками в нужных местах. Я решал подобную задачу так. Создавал специальную HTML страничку-шаблон. Потом парсил шаблон вставляя в место меток данные и генерируя PDF документ.

По поводу твоей проблемы, сходу ошибок не видно. Возможно дело не в TCPDF. Запрос без ошибок проходит ? Что возращает mysql_fetch_array ? Ради теста попробуй просто вывести данные, посмотри что получится.

Так вот ради теста я делал вывод через echo выводит все данные которые нужны.

А если не трудно сможешь свой пример показать ?

Ссылка на комментарий

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...