Search  
Monday, November 18, 2019 ..:: Forum ::.. Register  Login
 Forum Minimize
Pentru a putea posta mesaje trebuie să vă înregistraţi.
Notă: Mesajele cu conţinut jignitor sau ilegal (inclusiv cereri de soft piratat) nu sunt acceptate şi vor fi şterse imediat .

Pentru a primi raspunsuri rapide si corecte, scrieti in mesaj ce intentionati sa faceti, ce mesaj de eroare primiti, in ce context si in urma caror actiuni. De asemenea, mentionati versiunea de FoxPro in care lucrati!
Dacă nu specificați versiunea, se consideră VFP 9.0 SP2.

SearchForum Home
  Visual FoxPro  Controale ActiveX  vfp report to p...
 vfp report to pdf
 
 4/2/2007 4:47:01 PM
User is offlinegabirom
72 posts


vfp report to pdf
 (Romania)

Are cineva exemple cum se creeaza un fisier PDF din VFP ??

Asa ceva cum este cel din programul de la CAS ???

 

 

 4/5/2007 9:11:27 AM
User is offlineGrigore Dolghin
3995 posts
www.class-software.ro
1st






Re: vfp report to pdf
 (Romania)

Nu se poate crea folosind functii VFP. Toate programele in VFP care creeaza PDF-uri folosesc ori un driver de imprimanta care intercepteaza print-ul si il transforma in PDF (PrimoPDF, PDFCreator, etc), sau programatic, folosind biblioteci specializate. Astea sunt de doua feluri: COM (se instantiaza un object cu oPDF = CreateObjecT("dll.clasa"), oPDF.WriteText(100,100, "Hello World"), oPDF.SaveToFile("C:\fisier.pdf")) sau non-COM, care se folosesc prin declararea functiilor API implementate in DLL-ul respectiv.


Grigore Dolghin
Visual FoxPro MVP 2006 - 2010
Class Software
My blog
 4/6/2007 10:06:28 PM
User is offlinemisu
44 posts
www.arhimedes.ro




Re: vfp report to pdf
 (Romania)
Se poate folosi clasa de la  http://www.atoutfox.org/articles.asp?ACTION=FCONSULTER&ID=0000000224
 4/13/2007 1:38:29 AM
User is offlinegabirom
72 posts


Re: vfp report to pdf
 (N/A)

un exemplu de cum se poate folosi aceasta clasa ?

 

 4/13/2007 4:04:01 AM
User is offlineGrigore Dolghin
3995 posts
www.class-software.ro
1st






Re: vfp report to pdf
 (Romania)

Eh, si tu acuma.... :) Era suficient sa te uiti prin codul ala. Uite un exemplu (admitand ca ai copiat tot codul clasei intr-un fisier numit pdf.prg):

Set Procedure To pdf.prg
oPdf = CreateObject("FoxPDFText")
oPdf.NewPdf("c:\myPDF.pdf") && asta-i numele fisierului rezultat
oPdf.NewPage() && adaug o pagina noua, altfel acrobatu' plange
oPdf.WriteText("Iata ce pot face doua maini dibace")
oPdf.ClosePdf()

---------------------

Vad ca mai are si metoda WriteMultiLineText. Banuiesc ca asta scrie un text mai lung si il "rupe" la capatul randului, dar n-am verificat. Anyway, pana la un writer serios de pdf-uri mai e cale lunga. N-am vazut cum inserezi o imagine. Sau cum trasezi o linie, macar.


Grigore Dolghin
Visual FoxPro MVP 2006 - 2010
Class Software
My blog
 7/28/2009 1:25:56 PM
User is offlineMariusvma
83 posts




Re: vfp report to pdf
 (N/A)
Am incercat varianta asta dar ceva imi scapa. Cum se face mai exact? Am creat fisierul pfr.prg, dar cum este el apelat si de unde? O iau mai simplu...deschid un 'report' in preview....si oare cum il fac sa il salvez *.pdf?
 7/28/2009 2:55:54 PM
User is offlinedanilea
246 posts
4th


Re: vfp report to pdf
 (N/A)
Buna ziua,
NU va mai bateti capul.Folositi PDFCreator dupa sfatul Dl.Dolghin.Simplu.
 7/29/2009 11:51:29 AM
User is offlineHorHe
116 posts
5th


Re: vfp report to pdf
 (N/A)

Folosesc PDF Creator de ~12 luni si merge perfect !
Cum este in report sau pe hartie, asa se exporta si in pdf. Nu vad rostul pt care ai munci sa pui linie cu linie prin anumite clase, cand stim urmatoarele:
 - nimeni nu va mai edita acel PDF (cel putin asa ar trebui)
 - "line by line" reprezinta destul de aranjat si de bibilit, si unde mai pui ca mereu intervine ceva nou (iar uneori nu vei putea sa faci)
 - cu VFP poti trimite reportul printr-un driver (sau pdf) de imprimanta "neimplicit" , fara sa fie nevoie de confirmare sau vizualizare pe ecran; in plus PDF Creator poate fi setat pentru "AutoSave" si "Open After"; => rezolvat repede problema: "Cum trimit balanta pe e-mail lu' sefu ?"
 - este mult mai multa nevoie de o atentie sporita pe DOC, XLS si VFP class reports (cel putin dupa parerea mea)

Evitent, daca cine este interesat doar de procedura in sine se poate apuca de lucru , pt ca este destul !
 7/29/2009 1:37:39 PM
User is offlineMariusvma
83 posts




Re: vfp report to pdf
 (N/A)
Multumesc mult. Bine a zis cine a zis ca e recomandat sa inveti din experienta altora.
 12/22/2010 10:48:49 AM
User is offlinevaly.m
604 posts
1st


Re: vfp report to pdf
 (N/A) Modified By valy.m  on 12/22/2010 10:49:26 AM)
 HorHe wrote

Folosesc PDF Creator de ~12 luni si merge perfect !
Cum este in report sau pe hartie, asa se exporta si in pdf. Nu vad rostul pt care ai munci sa pui linie cu linie prin anumite clase, cand stim urmatoarele:
 - nimeni nu va mai edita acel PDF (cel putin asa ar trebui)
 - "line by line" reprezinta destul de aranjat si de bibilit, si unde mai pui ca mereu intervine ceva nou (iar uneori nu vei putea sa faci)
 - cu VFP poti trimite reportul printr-un driver (sau pdf) de imprimanta "neimplicit" , fara sa fie nevoie de confirmare sau vizualizare pe ecran; in plus PDF Creator poate fi setat pentru "AutoSave" si "Open After"; => rezolvat repede problema: "Cum trimit balanta pe e-mail lu' sefu ?"
 - este mult mai multa nevoie de o atentie sporita pe DOC, XLS si VFP class reports (cel putin dupa parerea mea)

Evitent, daca cine este interesat doar de procedura in sine se poate apuca de lucru , pt ca este destul !


E super tare acest programel... Salveaza raportul exact asa cum arata in VFP... Superb! De ce n-am aflat eu mai devreme...?!

Vali Maties - Beginner programmer
 12/22/2010 11:29:25 AM
User is offlineRomeo
664 posts
1st


Re: vfp report to pdf
 (N/A)
Cred ca ai bagat de seama ca poti lista cu PDF Creator, in format pdf si pagini InternetExplorer, Word, Excel etc
 7/2/2013 6:28:39 PM
User is offlinemyself
153 posts
5th


Re: vfp report to pdf
 (N/A)
Stie cineva cum pot lista atat portrait cat si landscape intr-un PDF folosind PDFcreator. Am incercat folosint NOPAGEEJECT, dar formatul se pastreaza comform primului raport. Ca ideea vreau sa listez mai multe .frx-uri intr-un singur pdf, doar ca unele sunt portrait si unele landscape. Are cineva vreo sugestie in privinta asta? Multumesc!
 7/3/2013 1:07:06 PM
User is offlineDaniel Buduru
3509 posts
1st




Re: vfp report to pdf
 (Romania)
In pdfcreator setezi wait for collect, apoi printezi rapoartele, apoi combine all si print.
Daca instalezi ultima versiune, in folderul com gasesti exemple pentru automation. Cele pentru vb6 necesita minimum de conversie.

Daniel Buduru
 7/3/2013 3:32:37 PM
User is offlinemyself
153 posts
5th


Re: vfp report to pdf
 (N/A)
Multumesc frumos! Am rezolvat destul de simplu cu .cCombineAll si cu elimanarea NOPAGEEJECT. Merge chiar neasteptate de bine.... Daca doreste careva pot posta codul folosit. :)
 7/3/2013 4:55:14 PM
User is offlineanonymous
0 posts


Re: vfp report to pdf
 (Romania)
Pe mine m-ar interesa. Te rog.
 7/4/2013 10:12:47 AM
User is offlinemyself
153 posts
5th


Re: vfp report to pdf
 (N/A) Modified By myself  on 7/4/2013 9:16:18 AM)
lpNume 		= 'Listare lunara'
lpDirector 	= 'c:\rapoarte\'
Local  lnRez
= Aprinters(lcaimprimante)
lnRez = 0
For i = 1 To Alen(lcaimprimante, 1)
	If Alltrim(lcaimprimante(i,1)) == 'PDFCreator'
		lnRez = 1
	Endif
Endfor
If lnRez = 0
	Wait Window 'ERROR !!! Imprimanta virtuala PDFCreator nu este instalata !!!' Nowait
	Return
Endif


lcDir = lpDirector
If !Directory(lcDir)
	Md &lcDir
Endif
Wait Window lcDir Nowait
lcOldDefaPrint = Alltrim(Set('PRINTER', 2))

lcNume 				= lpNume
titlu_raport		= lcNume + ' la data ' + Ttoc(Datetime())
lcBadChars 			= ":/"
lcRepChars  		= Replicate("_", Len(lcBadChars) - 1)
titlu_raport		= Chrtranc(titlu_raport, lcBadChars, lcRepChars)
lcfilename 			= lcDir + '\' + titlu_raport
lcDefaultPrinter 	= 'PDFCreator'

Local loPDFCreator As PDFCreator.clsPDFCreator
loPDFCreator = Createobject("PDFCreator.clsPDFCreator")
=loPDFCreator.cStart("/NoProcessingAtStartup")
With loPDFCreator
	Local loOptions As PDFCreator.clsPDFCreatorOptions
	loOptions = loPDFCreator.cOptions
	With loOptions
		.UseAutosave 			= 1
		.PrinterStop 			= .T.
		.UseAutosaveDirectory 	= 1
		.AutosaveDirectory 		= lcDir
		.AutosaveFilename 		= titlu_raport
		.AutosaveFormat			= 0
	Endwith
	loPDFCreator.cOptions 		= loOptions
	.cDefaultPrinter 			= "PDFCreator"
	.cClearCache()
Endwith
lcDefaultPrinter = loPDFCreator.cDefaultPrinter
Set Printer To Name (lcDefaultPrinter)
Set Console Off
Select listari
Scan
	lcCursor 	= Alltrim(listari.Cursor)
	lcNumeRepo 	= Alltrim(listari.raport)

	Select (lcCursor)
	Report Form (lcNumeRepo) Noconsole To Printer
	Select listari
Endscan

**Combinarea rapoartelor
llOk = .F.
Do While llOk = .F.
	loPDFCreator.cCombineAll()
	If loPDFCreator.cCountOfPrintjobs <= 1
		Exit
		llOk = .T.
		Loop
	Endif
Enddo

Set Console On
Set Printer To Name (lcOldDefaPrint)
loPDFCreator.cPrinterStop = .F.
Release loPDFCreator
OneT = Createobject("WScript.Network")
OneT.SetDefaultPrinter(lcOldDefaPrint)


***deschidem pdfu`
Wait Window 'Deschidem raportul...' Nowait
lcfilename  =  Alltrim(lcfilename) + '.pdf'
llOk 		= .F.
lnSec 		= Seconds()
Do While llOk = .F.
	Try
		llOpened = Fopen(lcfilename,12)
	Catch To err
	Endtry
	If llOpened < 0 And (Seconds()-lnSec) > 20
		lcRasp = Messagebox('Listarea dureaza mai mult de 20 de secunde!Asteptam(YES) sau il deschidem manual(NO) din ';
			+ Alltrim(lcfilename) + '?',36,'Atentie!!!')
		If lcRasp <> 6 &&il deschidem manual(no)
			Exit
			llOk = .F.
			Loop
		Else
			Wait Window 'Nu va impacentati! Dureaza un pic mai mult de 20 de sec! Deschidem raportul imediat...' Nowait
			lnSec = Seconds()
		Endif
	Endif
	If llOpened > 0
		llOk = .T.
	Endif
Enddo
Fclose(llOpened)

If llOk = .T.
	Wait Window 'deschidem pdfu' Nowait
	Declare Integer ShellExecute In shell32.Dll ;
		INTEGER hndWin, String cAction, String cFileName, ;
		STRING cParams, String cDir, Integer nShowWin

	ShellExecute(0,"open",lcfilename,"","",3)
Endif

 7/4/2013 11:46:06 AM
User is offlineanonymous
0 posts


Re: vfp report to pdf
 (Romania)
Multumesc.
 7/4/2013 2:38:14 PM
User is offlinemyself
153 posts
5th


Re: vfp report to pdf
 (N/A)
Pentru ca in anumite situatii imprimanta nu se oprea(cu alte cuvinte cPrinterStop = .T. nu functiona, nu imi dau seama din ce motive...am introdus urmatorul cod in procedura de listare)

llOk = .F.
i = 1
Do While llOk = .F.
	If loPDFCreator.cPrinterStop = .F.
		loPDFCreator.cPrinterStop = .T.
		i = i+1
	Else
		llOk = .T.
		Exit
	Endif
	If i>20
		Wait Window 'Dupa 20 de incercati imprimanta nu a vrut sa se opreasca! Reinitializam ...' Timeout 1
		loPDFCreator.cClose
		Release loPDFCreator
		Local loPDFCreator As PDFCreator.clsPDFCreator
		loPDFCreator = Createobject("PDFCreator.clsPDFCreator")
		=loPDFCreator.cStart("/NoProcessingAtStartup /ClearCache")
		With loPDFCreator
			Local loOptions As PDFCreator.clsPDFCreatorOptions
			loOptions = loPDFCreator.cOptions
			With loOptions
				.UseAutosave 			= 1
				.PrinterStop 			= 0
				.UseAutosaveDirectory 	= 1
				.AutosaveDirectory 		= lcDir
				.AutosaveFilename 		= titlu_raport
				.AutosaveFormat			= 0
			Endwith
			loPDFCreator.cOptions 		= loOptions
			.cDefaultPrinter 			= "PDFCreator"
			.cClearCache()
		Endwith
		loPDFCreator.cPrinterStop = .T.
		llOk = .T.
		Exit
	Endif
Enddo


 7/4/2013 10:02:22 PM
User is offlineanonymous
0 posts


Re: vfp report to pdf
 (N/A)
Din nou, multumesc.
  Visual FoxPro  Controale ActiveX  vfp report to p...

Search  Forum Home         

 Google Ads Minimize

    

Copyright 2002-2013 Profox   Terms Of Use  Privacy Statement