Page 1 of 1

OnPrint din IE

Posted: 28 May 2010, 12:27
by mesajflaviu
Am o aplicatie MFC MDI , cu CView bazat pe CHtmlView . Acolo afisez un fisier .pdf . In CChildFrame am un dialogbar pe care am printre altele un buton cu care as vrea sa printez continutul fisierului .pdf , prin apelarea OnPrint() ... care nu functioneaza ! Am observat ca daca incarc in browser-ul IE un fisier .pdf , in meniul File nu gasesc un item 'print' , care la afisarea unei pagini de internet ( .html sau similar ) apare aceasta optiune ... E drept ca in cazul afisarii fisierului .pdf in IE ( ca de altfel si in aplicatia mea ) apare dialogbar-ul aplicatiei pdf , unde se gaseste si butonul 'Print' , dar eu as vrea sa pornesc printarea din propriul buton ... se poate rezolva problema ?

Re: OnPrint din IE

Posted: 28 May 2010, 14:52
by cristianamarie
mesajflaviu wrote:Am o aplicatie MFC MDI , cu CView bazat pe CHtmlView . Acolo afisez un fisier .pdf . In CChildFrame am un dialogbar pe care am printre altele un buton cu care as vrea sa printez continutul fisierului .pdf , prin apelarea OnPrint() ... care nu functioneaza ! Am observat ca daca incarc in browser-ul IE un fisier .pdf , in meniul File nu gasesc un item 'print' , care la afisarea unei pagini de internet ( .html sau similar ) apare aceasta optiune ... E drept ca in cazul afisarii fisierului .pdf in IE ( ca de altfel si in aplicatia mea ) apare dialogbar-ul aplicatiei pdf , unde se gaseste si butonul 'Print' , dar eu as vrea sa pornesc printarea din propriul buton ... se poate rezolva problema ?
Cu siguranta, dar probabil trebuie sa obtii IOleCommandTarget din obiect, si Exec cu OLECMDID_PRINT.
Edit: IOleCommandTarget probabil al pdf-ului, nu al IE-ului, desi poate print dat la un IE care hosteaza un pdf poate ajunge sa printeze pdf-ul. Incearca.

Re: OnPrint din IE

Posted: 28 May 2010, 15:35
by Viorel
Am creat un proiect experimental de tip MDI in Visual Studio 2008 cu „Feature Pack” şi am constatat că operaţia Print executată din meniul implicit funcţionează chiar şi pentru fişiere „http://...pdf”.

Am mai aflat că sursele generate nu execută OnPrint direct, ci apelează funcţia CHtmlView::OnFilePrint.

Apoi am accesat un astfel de fişier folosind Internet Explorer 8 sub Windows XP şi am aflat că funcţia Imprimare... din meniu funcţionează la fel de bine ca şi butonul Print din Adobe Reader.

Prin urmare ar trebui să oferi mai multe detalii privind reproducerea problemei sau să analizezi modul în care o aplicaţie implicită MFC execută imprimarea.

Re: OnPrint din IE

Posted: 28 May 2010, 16:42
by mesajflaviu
Viorel wrote:Prin urmare ar trebui să oferi mai multe detalii privind reproducerea problemei sau să analizezi modul în care o aplicaţie implicită MFC execută imprimarea.
Pai in CTestView am :

Code: Select all

void CTestView::OnButtonPrint()
{
	OnPrint();
}
am mai incercat si OnFilePrint(); dar la fel , nu face nimic ....

Re: OnPrint din IE

Posted: 28 May 2010, 16:50
by mesajflaviu
Mentionez ca daca incarcam un fisier .html in CTestView , OnPrint-ul functiona normal ...

Re: OnPrint din IE

Posted: 28 May 2010, 16:54
by Viorel
Funcţia originală OnPrint nu este una care poate fi apelată fără parametri. Aş sugera să verifici dacă imprimarea fişierelor PDF este posibilă în principiu. Creează un nou proiect bazat pe CHtmlView, ajustează-l pentru navigarea spre un PDF şi verifică dacă Print din meniu funcţionează.

Re: OnPrint din IE

Posted: 28 May 2010, 17:02
by mesajflaviu
Am facut un proiectel MDI cu CView bazat pe CHtmlView in care am incarcat un .pdf , iar cand am incercat sa printez continutul fisierului din meniul File , Print , aceelasi rezultat . Lucrez in VC6 , dar nu cred ca asta are vreo importanta .

Re: OnPrint din IE

Posted: 28 May 2010, 17:09
by cristianamarie
mesajflaviu wrote:Am facut un proiectel MDI cu CView bazat pe CHtmlView in care am incarcat un .pdf , iar cand am incercat sa printez continutul fisierului din meniul File , Print , aceelasi rezultat . Lucrez in VC6 , dar nu cred ca asta are vreo importanta .
E posibil ca implementarea din MFC 6 sa fie mai light. Intra cu F11 si vezi ce face.

Re: OnPrint din IE

Posted: 28 May 2010, 17:28
by mesajflaviu
Edit: IOleCommandTarget probabil al pdf-ului, nu al IE-ului, desi poate print dat la un IE care hosteaza un pdf poate ajunge sa printeze pdf-ul. Incearca.
Nici un print dat din IE(8) care are incarcat un .pdf nu printeaza nimic ... culmea culmilor ! :?:

Re: OnPrint din IE

Posted: 28 May 2010, 17:33
by Viorel
Problema ar mai putea fi cauzată de utilizarea unei componente diferite de Adobe Reader, de ex.: http://forums.foxitsoftware.com/showthread.php?t=17577. Încearcă la un calculator la care Print din Internet Explorer funcţionează.

Re: OnPrint din IE

Posted: 28 May 2010, 17:38
by mesajflaviu
Viorel wrote:Problema ar mai putea fi cauzată de utilizarea unei componente diferite de Adobe Reader, de ex.: http://forums.foxitsoftware.com/showthread.php?t=17577. Încearcă la un calculator la care Print din Internet Explorer funcţionează.
Intradevar folosesc Foxit , nu Acrobat , o sa incerc pe o statie cu Adobe instalat ...

Re: OnPrint din IE

Posted: 28 May 2010, 20:40
by mesajflaviu
Am testat aplicatia pe o statie cu Acrobat Reader instalat si acolo aplicatia se comporta normal ... Viorel ai avut dreptate , clientul meu de pdf are probleme cu printarea . Multumesc tuturor pentru indrumari ! Numai bine !