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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отображение pdf документа в окне браузера 
:(
    Опции темы
stat007
Дата 28.9.2010, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Подскажите как отобразить pdf-документ в окне браузера???
PM MAIL   Вверх
bars80080
Дата 28.9.2010, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



вот какое отношение браузер имеет к пхп?


а вы просто ссылку на pdf документ указать пробовали?
PM MAIL WWW   Вверх
stat007
Дата 28.9.2010, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



bars80080, Как понять указать ссылку на pdf ???
Необходимо отобразить именно документ, т.е. книгу раскрывающаяся именно в браузере...
PM MAIL   Вверх
bars80080
Дата 28.9.2010, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



Цитата(stat007 @  28.9.2010,  14:49 Найти цитируемый пост)
Как понять указать ссылку на pdf ???

Код

<a href="book.pdf">ссылка на пдф файл</a>



Цитата(stat007 @  28.9.2010,  14:49 Найти цитируемый пост)
Необходимо отобразить именно документ, т.е. книгу раскрывающаяся именно в браузере... 

постарайтесь выжать из себя более чем одну строчку. чем полнее вы распишете задачу, тем быстрее вас поймут и более качественное решение предложат.
на данный момент, могу предложить только ссылку.

может надо генерировать пдф из данных?
PM MAIL WWW   Вверх
stat007
Дата 28.9.2010, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



bars80080, 
А можно поподробнее как это сгенерировать пдф из данных???
PM MAIL   Вверх
stat007
Дата 28.9.2010, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Вот, получилось сгенерировать pdf-файл, который отображается в браузере, но он отображает именно этот же php-файл, т.е. всё содержимое данного php-файла он отображает в виде пдф формате на страничке.
А как сделать что бы отображался другой файл, не этот же, и желательно, чтобы этот файл был в формате .pdf ???
Код

/* ****************************************************************************************
 * Скрипт формирования pdf-файла пропуска с помощью последовательного преобразования
 * шаблона в svg файл, после чего тот преобразуется в PostScript файл программой Inkscape,
 * и последний преобразуется в pdf с помощью утилиты ps2pdf.
 *
 * Автор: Шебастюк В.В. a.k.a. JStingo
 * **************************************************************************************** */

/* параметры скрипта */

    //Путь к папке с временными файлами
    //(если не указан, то файлы будут хранится в системной временной папке)
    $tmp_dir='';

    //генерируем пути к временным svg, ps и pdf файлам
    $tmp_svg_file=tempnam($tmp_dir,"");
    $tmp_ps_file=tempnam($tmp_dir,"");
    $tmp_pdf_file=tempnam($tmp_dir,"");


    /* Шаблонизатор FastTemplate */
    include("include/cls_fast_template.php");
    $tpl = new FastTemplate("templates");

try{

/* Блок с получаемыми для шаблонизации данными */
/* ........................... */
      $user_name='JStingo';
      $register_date='28/09/2007';
/* ........................... */
/* формируем имя результрующего файла в виде User_name.pdf */

    $pdf_file_name=$user_name.'.pdf';

/* обработка шаблона и получение результрующего файла */

            $tpl->define( array('svg'   => "template.svg"));
            $tpl->assign(array(    'USER_NAME' => $user_name,
                                'R_DATE'    => $register_date
                        ));
            $tpl->parse('SVG', 'svg');

            //сохраням полученный svg файл
            $tpl->FastWrite('SVG',$tmp_svg_file);

            //производим конвертацию svg-файла средствами inkscape'а в ps-файл
            //Ключи
            //    -T     — служит для преобразования текста в кривые (для нормальной поддержки шрифтов)
            //    -P    — указывает на необходимость преобразования в PostScript-файл
            system("inkscape -T $tmp_svg_file -P $tmp_ps_file",$success);

               //в случае неудачного выполнения преобразования формируем исключение
            if($success!=0)
                throw new Exception("Ошибка формирования ps-файла.");

            //преобразуем ps-файл в pdf с помощью утилиты ps2pdf

            //Ключи
            //    -dUseFlateCompression=true    — устанавливает использование компрессии
            //    -dPDFSETTINGS=/printer        — устанавливает оптимизацию для печати
            system("ps2pdf -dUseFlateCompression=true -dPDFSETTINGS=/printer $tmp_ps_file $tmp_pdf_file",$success);

            //в случае неудачного выполнения преобразования формируем исключение
            if($success!=0)
                throw new Exception("Ошибка формирования pdf-файла.");

            //заголовок о том, что будем оправлять pdf-файл
            header('Content-type: application/pdf');

            // Называться будет как $pdf_file_name
            header('Content-Disposition: attachment; filename="'.$pdf_file_name.'"');

            // передаем сгенерированный файл
            readfile($tmp_pdf_file);

            //удаляем временные файлы
            @unlink($tmp_svg);
            @unlink($tmp_ps_file);
            @unlink($tmp_pdf_file);

}catch(Exception $e){
    /* Если где-то произошла ошибка, то сообщаем об этом */
    $tpl->define( array('error'   => "error.tpl"));
    $tpl->assign('ERROR',$e->getMessage());

    $tpl->parse('ERROR', 'error');
    $tpl->FastPrint('ERROR');
}
?>

PM MAIL   Вверх
bars80080
Дата 28.9.2010, 19:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



stat007, скажите чётко, что вам надо.
1. у вас есть несколько пдф-файлов, и вы хотите, чтобы они были доступны пользователям для скачивания или чтения прямо в браузере?
2. у вас есть несколько пдф-файлов, и вы хотите, чтобы они были доступны только зарегестрированным пользователям для скачивания и чтения?
3. у вас нет никаких файлов, но вы решили отдавать некоторые свои данные в формате пдф?

выберите один из пунктов, ибо решение везде разное
PM MAIL WWW   Вверх
stat007
Дата 29.9.2010, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



bars80080, Мне нужно реализовать именно первый вариант!!!
Цитата

1. у вас есть несколько пдф-файлов, и вы хотите, чтобы они были доступны пользователям для скачивания или чтения прямо в браузере?

Нужно что бы эти пдф-документы были доступны именно для чтения через браузер! Скачивание не обязательно.
PM MAIL   Вверх
Sanchezzz
Дата 29.9.2010, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

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



Сча pdf уже сам в браузере открывается лично в опере так.
как вариант можно поискать флеш наработки которые умеют читать pdf
например 


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
stat007
Дата 29.9.2010, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Sanchezzz, Хороший пример, только как-бы его реализовать на своём файле?
PM MAIL   Вверх
azesmcar
Дата 29.9.2010, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


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

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



Цитата(stat007 @  29.9.2010,  11:08 Найти цитируемый пост)
Sanchezzz, Хороший пример, только как-бы его реализовать на своём файле? 

Код

<embed src="myfile.pdf" width="500" height="650"></embed>

PM   Вверх
stat007
Дата 29.9.2010, 12:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



azesmcar, чего-то не срабатывает...
PM MAIL   Вверх
bars80080
Дата 29.9.2010, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



Цитата(stat007 @  29.9.2010,  10:12 Найти цитируемый пост)
1. у вас есть несколько пдф-файлов, и вы хотите, чтобы они были доступны пользователям для скачивания или чтения прямо в браузере?

значит решение такое:
закачиваете в папку разные pdf-документы. допустим, это папка files на хостинге, а затем на странице размещаете ссылки:
Код

<a href="/files/document1.pdf">ссылка на пдф файл 1</a>
<a href="/files/document2.pdf">ссылка на пдф файл 2</a>
<a href="/files/document3.pdf">ссылка на пдф файл 3</a>
<a href="/files/document4.pdf">ссылка на пдф файл 4</a>

всё, больше ничего не надо

эти ссылки обычно открываются именно в браузере. не откроется только в том случае, если у пользователя в браузере не стоит плагин ридера, что бывает очень редко.
PM MAIL WWW   Вверх
stat007
Дата 29.9.2010, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



bars80080, Да, Но это не то, что необходимо!!
Если разместить эти ссылки, то получается идёт просто скачивание, а нужно, что бы именно не скачивание шло, а открытие этого документа в браузете, например как сделано тут... 
PM MAIL   Вверх
bars80080
Дата 29.9.2010, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



Цитата(stat007 @  29.9.2010,  14:22 Найти цитируемый пост)
Если разместить эти ссылки, то получается идёт просто скачивание

это потому что у вас не встал плагин на браузер. у меня всё открывается сразу


Цитата(stat007 @  29.9.2010,  14:22 Найти цитируемый пост)
например как сделано тут... 

во-первых, это не соответствует выбранному пункту 1.
там сделано на флэше. для открытия этого документа нужен javascript, флэш и это без гарантии, что откроется.

вот, к примеру, как это задаётся у них:
Код

        <script language="javascript"> 
    if (AC_FL_RunContent == 0) {
        //alert("This page requires AC_RunActiveContent.js.");
    } else {
        AC_FL_RunContent(
            'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0',
            'width', '700',
            'height', '600',
            'src', 'Viewer?time=4:25:30 AM',
            'quality', 'high',
            'pluginspage', 'http://www.macromedia.com/go/getflashplayer',
            'align', 'middle',
            'play', 'true',
            'loop', 'true',
            'scale', 'noscale',
            'wmode', 'window',
            'devicefont', 'false',
            'id', 'Viewer?time=4:25:30 AM',
            'bgcolor', '#ffffff',
            'name', 'Viewer',
            'menu', 'true',
            'allowFullScreen', 'true',
            'allowScriptAccess','always',
            'movie', 'Viewer?time=4:25:30 AM',
            'salign', '',
            'FlashVars','documentname=6.pdf&startPage=1&colorToolbar=&navButton=Yes&zoomButton=Yes&copytextButton=Yes&saveButton=Yes&saveDocumentLocation=http://www.ajaxdocumentviewer.com/sampledemo/6.pdf&printButton=Yes&rotationButton=Yes&fittowidthButton=Yes&aboutButton=Yes&fullscreenButton=Yes'
            ); //end AC code
            
    }
</script> 

если хотите также, то спрашивайте у них. бесплатно ли? какие требования?
такая вещь мало кем пишется (и уж точно не на форумах в качестве примера), гораздо чаще покупается.
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

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

Важно:

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

Внимание:

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

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

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


 




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


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

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