Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > печать PDF


Автор: lorents 23.3.2009, 20:22
как можно распечатать PDF если не установлена программа для просмотра PDF?

Автор: former 23.3.2009, 20:24
Как минимум тебе понадобится ActiveX компонент.

Автор: Данкинг 23.3.2009, 20:45
Идеальный вариант - всё же установить принтер Adobe PDF. Без него - в Fast Report есть экспорт в PDF, правда, говорят, он глючит и обрезает выводимую инфу.

Автор: lorents 23.3.2009, 20:53
former, 
Цитата(former @  23.3.2009,  20:24 Найти цитируемый пост)
Как минимум тебе понадобится ActiveX компонент. 

можно поконкретнее?

Цитата(Данкинг @  23.3.2009,  20:45 Найти цитируемый пост)
Идеальный вариант - всё же установить принтер Adobe PDF. Без него - в Fast Report есть экспорт в PDF, правда, говорят, он глючит и обрезает выводимую инфу. 

не подходит к сожалению

Автор: former 23.3.2009, 21:41
Цитата(lorents @  23.3.2009,  20:53 Найти цитируемый пост)
можно поконкретнее?

Конкретного примера у меня нет. Где-то читал, года задумывался над этим же вопросом. А потом надобность отпала.
Вот тебе немного полезного материала в тему:
http://www.freedownloadscenter.com/Best/pdf-delphi-free.html
http://www.novapdf.com/hello-world-delphi.php

Автор: lorents 23.3.2009, 21:45
former, 

Цитата(former @  23.3.2009,  21:41 Найти цитируемый пост)
ссылка 2 

это как я понимаю через виртуальный принтер?

Автор: former 23.3.2009, 21:46
Это программа. Не прочитал внимательно. smile 

Автор: lorents 23.3.2009, 21:52
former, 
Цитата(former @  23.3.2009,  21:46 Найти цитируемый пост)
Единственное, что не может в бесплатной версии, так это сохранять изменения. Ну так это, вроде, тебе и не нужно.

не, не нужно smile 
пойду разбираться

Добавлено через 2 минуты и 26 секунд
да вот как раз нажел, вроде то что надо
http://www.freedownloadscenter.com/Programming/Delphi_Tools_and_Components/PDF_Viewer_for_Delphi.html

Автор: former 23.3.2009, 21:59
Читай внимательнее "Adobe Reader® must be installed on end-user computer. ", т.е. Adobe Reader должен быть установлен! smile 

Автор: lorents 23.3.2009, 22:02
а не подходит, она просто окрывает файл через adobe reader

Добавлено через 22 секунды
я позже прочитал

Добавлено через 3 минуты и 41 секунду
Выходит пока ничего нет, плохо дело, лан а если по другому печать не pdf а doc или ppt, но условия теже

Автор: former 23.3.2009, 22:08
Может все таки воспользоваться им. Все равно Adobe Reader бесплатный и у многих стоит на компах.
А печатать можно и не открывая.
Код

ShellExecute(Handle, 'print', PChar('c:\test\test.pdf'), nil, nil, SW_SHOW)


Еще несколько вариантов:
- писать свой компонент
- использовать сторонние компоненты (платные)
- пользоваться ворованными (но воровать не хорошо smile )

Добавлено через 4 минуты и 16 секунд
И еще один вариант. Конвертировать PDF в изображения (например TIF - он может быть многостраничным), а потом их распечатывать.

Автор: lorents 23.3.2009, 22:23
Цитата(former @  23.3.2009,  22:08 Найти цитируемый пост)
Может все таки воспользоваться им. Все равно Adobe Reader бесплатный и у многих стоит на компах.
А печатать можно и не открывая.

не подходит smile 


Цитата(former @  23.3.2009,  22:08 Найти цитируемый пост)
писать свой компонент

не могу, знаний таких нет

Цитата(former @  23.3.2009,  22:08 Найти цитируемый пост)
использовать сторонние компоненты (платные)

денег тоже нет


Цитата(former @  23.3.2009,  22:08 Найти цитируемый пост)
ользоваться ворованными (но воровать не хорошо smile )

экстремальное время требует экстремальное решение


Цитата(former @  23.3.2009,  22:08 Найти цитируемый пост)
еще один вариант. Конвертировать PDF в изображения (например TIF - он может быть многостраничным), а потом их распечатывать.

допустим так, а как распечатать? я ща смотрю твою справку ничего пока не нашел

Автор: former 23.3.2009, 22:24
http://delphiworld.narod.ru/base/read_acrobat_pdf_files.html в довесок. smile

Автор: lorents 23.3.2009, 22:30
former, не совем понял для чего мне это?, просто голова не варит smile 

Автор: former 23.3.2009, 22:33
В статье показано, как работать с PDF на примере чтения. Думаю, что если копать дальше будешь, то найдешь, что нужно.
Выделяю, на что нужно обратить внимание в статье:
Код

    procedure printPages(from: Integer; to_: Integer);
    procedure printPagesFit(from: Integer; to_: Integer; shrinkToFit: WordBool);
    procedure printAll;
    procedure printAllFit(shrinkToFit: WordBool);

Автор: lorents 23.3.2009, 22:39
former, понял smile , бли столько возьни из-за печати
еще вопрос может легчекартинки сделать?
есть что с этим

Автор: former 23.3.2009, 22:46
Тоже http://articles.org.ru/myfaq/27042004d.php.

Автор: lorents 23.3.2009, 22:48
former, будем разбираться что делать
спасибо за помощь

Автор: lorents 24.3.2009, 00:19
ни у кого нет идей?

Автор: lorents 26.3.2009, 20:03
нашел кое-что но мои надежды не оправдались
http://www.globalpdf.com/pdfprint/index.html
но здесь нет диалогового окна печати :(

Автор: Crw 26.3.2009, 20:50
Посмотри здесь:
http://docu-track.com/home/dev_tools/
Выводить ПДФки можно виртуальным принтером, PDF-XChange Viewer AcriveX и специальными библиотеками.

Автор: lorents 27.3.2009, 01:01
Crw, у меня уже есть pdf и его просто надо распечатать

Автор: Crw 27.3.2009, 15:29
Ну в PDF-XChange есть библиотека pxcview.dll (3,68 MB) которая позволяет отрисовывать ПДФку на DC, ну и никто не мешает этот DC распечатать (в комплекте с тулзами идет пример на Делфи, который показывает как это можно сделать).
Также есть PDF-XChange Viewer AcriveX с помощью которого также можно распечатать ПДФку, только там много функциональности которая тебе вряд ли пригодиться.

Автор: lorents 27.3.2009, 17:07
Crw, 
Цитата(Crw @  27.3.2009,  15:29 Найти цитируемый пост)
комплекте с тулзами идет пример на Делфи

а где этот пример, я не могу найти

Цитата(Crw @  27.3.2009,  15:29 Найти цитируемый пост)
PDF-XChange Viewer AcriveX с помощью которого также можно распечатать ПДФку

где тоже взять этот AcriveX?

Автор: Crw 27.3.2009, 19:15
Скачиваешь и устанавливаешь эту инсталку:
http://docu-track.com/download/pdfvSDK.zip
Потом в папке
"...\Tracker Software\PDF-XChange Viewer SDK\Bin\"
есть примеры

PXCViewDelphi.exe - отрисовывает ПДФку на канву, с примером печати. Екзешка использует библиотеку pxcview.dll.

PDFXChangeViewerActiveXDelphi.exe - полный пример работы компонента PDFXChange Viewer ActiveX, там также есть пример печати документа (или смотри .\AX_DelphiExamples\PrintDocument.exe отдельно). Здесь используются файлы PDFXCview.exe, PDFXCviewAx.dll, resource.dat (ну и возможно также файлы локализации если надо).

Все исходники можно найти в папке
"...\Tracker Software\PDF-XChange Viewer SDK\Examples\DelphiExamples\"


Цитата(lorents @  26.3.2009,  20:03 Найти цитируемый пост)
но здесь нет диалогового окна печати :( 

А что такое диалоговое окно сложно самому сделать?

Автор: lorents 27.3.2009, 19:55
Crw, спасибо, буду разбираться

Цитата(Crw @  27.3.2009,  19:15 Найти цитируемый пост)
А что такое диалоговое окно сложно самому сделать?

да, у меня нет таких знаний

Автор: lorents 27.3.2009, 21:28
Crw, крака нет случайно?

Автор: lorents 27.3.2009, 22:02
а можно ни ли как то сделать чтобы, то что я нашел выше отправлялось на печать через вот этот вот окно

http://ipicture.ru/Gallery/Viewfull/16343522.html

Автор: Crw 28.3.2009, 16:48
В Делфи есть компонент http://www.delphisources.ru/pages/faq/faq_delphi_basics/TPrintDialog.php.html с ним довольно просто работать. Но он выглядит по другому чем на скриншоте..
Цитата
крака нет случайно?

Этого не знаю.

Автор: lorents 28.3.2009, 16:56
Crw, 
Цитата(Crw @  28.3.2009,  16:48 Найти цитируемый пост)
В Делфи есть компонент TPrintDialog с ним довольно просто работать

т.е он создает такое же окно, ты бы не мог скинуть скриншот если есть, просто сейчас нет делфи на компе, и не могу поставить
и если тебя не затруднит можешь вот это тоже посмотреть, если конечно есть время и желание
http://www.verypdf.com/pdfprint/pdfprint_sdk.zip
есть ли здесь диалоговое окно
буду очень признателен

Добавлено @ 16:58
Цитата(Crw @  28.3.2009,  16:48 Найти цитируемый пост)
Этого не знаю. 

весь нет вчера перерыл, ну чего нет

Автор: Crw 30.3.2009, 20:37
Классический делфийский принт диалог:
http://ipicture.ru/Gallery/Viewfull/16532745.html
Цитата
verypdf...есть ли здесь диалоговое окно

Там управление через командную строчку, так что диалог надо самому делать. В ихних примерах принт диалога нету.. 

Автор: lorents 30.3.2009, 20:43
Crw, спасибо! smile 

Автор: lorents 21.8.2009, 17:01
Хотел спросить, может кто нашел печать *.pdf через диалоговое окно?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)