OnPrint din IE

Intrebari legate de programarea cu biblioteci precum MFC, ATL, WTL si GDI+.
Post Reply
mesajflaviu
Membru++
Membru++
Posts: 687
Joined: 10 Sep 2008, 21:40
Judet: Cluj

OnPrint din IE

Post by mesajflaviu » 28 May 2010, 12:27

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 ?



User avatar
cristianamarie
Membru++
Membru++
Posts: 480
Joined: 12 Mar 2009, 18:47
Judet: Iaşi
Location: Iasi

Re: OnPrint din IE

Post by cristianamarie » 28 May 2010, 14:52

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.
Nuclear launch detected

Viorel
Microsoft MVP
Microsoft MVP
Posts: 293
Joined: 13 Jul 2007, 12:26

Re: OnPrint din IE

Post by Viorel » 28 May 2010, 15:35

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.

mesajflaviu
Membru++
Membru++
Posts: 687
Joined: 10 Sep 2008, 21:40
Judet: Cluj

Re: OnPrint din IE

Post by mesajflaviu » 28 May 2010, 16:42

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 ....

mesajflaviu
Membru++
Membru++
Posts: 687
Joined: 10 Sep 2008, 21:40
Judet: Cluj

Re: OnPrint din IE

Post by mesajflaviu » 28 May 2010, 16:50

Mentionez ca daca incarcam un fisier .html in CTestView , OnPrint-ul functiona normal ...

Viorel
Microsoft MVP
Microsoft MVP
Posts: 293
Joined: 13 Jul 2007, 12:26

Re: OnPrint din IE

Post by Viorel » 28 May 2010, 16:54

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ă.

mesajflaviu
Membru++
Membru++
Posts: 687
Joined: 10 Sep 2008, 21:40
Judet: Cluj

Re: OnPrint din IE

Post by mesajflaviu » 28 May 2010, 17:02

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 .

User avatar
cristianamarie
Membru++
Membru++
Posts: 480
Joined: 12 Mar 2009, 18:47
Judet: Iaşi
Location: Iasi

Re: OnPrint din IE

Post by cristianamarie » 28 May 2010, 17:09

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.
Nuclear launch detected

mesajflaviu
Membru++
Membru++
Posts: 687
Joined: 10 Sep 2008, 21:40
Judet: Cluj

Re: OnPrint din IE

Post by mesajflaviu » 28 May 2010, 17:28

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 ! :?:

Viorel
Microsoft MVP
Microsoft MVP
Posts: 293
Joined: 13 Jul 2007, 12:26

Re: OnPrint din IE

Post by Viorel » 28 May 2010, 17:33

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ă.

mesajflaviu
Membru++
Membru++
Posts: 687
Joined: 10 Sep 2008, 21:40
Judet: Cluj

Re: OnPrint din IE

Post by mesajflaviu » 28 May 2010, 17:38

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 ...

mesajflaviu
Membru++
Membru++
Posts: 687
Joined: 10 Sep 2008, 21:40
Judet: Cluj

Re: OnPrint din IE

Post by mesajflaviu » 28 May 2010, 20:40

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 !

Post Reply