Prev: CTYPE_8SPACE_GIF
Next: Vulcan lastest version
From: Tim Shea on 4 Jul 2008 04:03 Hi Geoff, Going to take you to task over this one. I have been using RP3 for a number of years and it is FAR superior to RP2 or Crystal. It is three times faster and really addresses just about all the shortcomings of RP2. There is a work-around to hard coding reports. It is just a pity that others haven't encouraged Larry to develop this brilliant piece of software further. Haven't used RS, but I suspect it's heavily tied into Microsoft environments (MS-SQL Server etc) which is fine if you are doing that sort of thing. Tim On Jul 4, 9:37 am, "Geoff Schaller" <geo...(a)softxwareobjectives.com.au> wrote: > But seriously John, it isn't going to happen. > > As it stands we've altered RP2 to work with our SQL classes and VO2Ado > quite nicely but as for extending it, it is just a VO app and will > therefore do what a VO app can and can't. I am much more comfortable > with RS in a local report viewer. What do you mean by heavy? There are > less DLLs to distribute than with RP! > > RP3, though, was a disaster. I've got no idea what went through Larry's > head when he did this. He killed off all the good features of RP2 > without making any substantial performance improvements. It just became > a mess to integrate with existing VO because now it revolves being an > OCX and being based on Classmate. Both were serious mistakes and I guess > he paid for it with the loss of business. > > Geoff > > "john....(a)roeville.com" <john....(a)roeville.com> wrote in message > > news:915b5ebe-2824-4227-8d6b-8fcb634528e5(a)k30g2000hse.googlegroups.com: > > > On 3 Jul, 23:47, "Geoff Schaller" <geo...(a)softxwareobjectives.com.au> > > wrote: > > > > Use MS Reporting Services instead. > > > Far superior on all fronts. > > > > "john....(a)roeville.com" <john....(a)roeville.com> wrote in message > > > >news:af24e8fe-b052-47b5-99fe-c5bbadc16fb7(a)2g2000hsn.googlegroups.com: > > > > > Hi > > > > > I'm using the PDF export feature included in Report Pro with VO2.8 but > > > > the lack of support for images and special fonts is very > > > > disappointing, and restricts it's use for commercial output. > > > > > Does anyone know of any workarounds or if PDF support is likely to be > > > > improved in the near future? > > > > > I've played around with PDF995 - an excellent product - but a > > > > professional integrated solution for Report Pro is what's long been > > > > required. > > > > > Thanks > > > > > John- Hide quoted text - > > > > - Show quoted text - > > > Hi Geoff > > > We're using Reporting Services in some of our C#/M$ SQL apps and it's > > brilliant - but a tad heavyweight for the desktop apps. I still think > > Report Pro has its place and just wish someone would take it forward. > > > KR > > > John
From: richard.townsendrose on 4 Jul 2008 05:42 John rp2 and pdf is a few lines of code. first way: one install pdf995 and configure it. see www.tdoc.org.uk/5manual use the code below second way use ghost script email me and i will send you barbara's code for rp3 we intend to move to this way with rp2 - people have already done it for rp2 richard DO CASE CASE wPrintTo==PRINT_PREVIEW oReport:PrintPreview(cJobName, cPrint2Filename) CASE wPrintTo==PRINT_PRINTER oReport:Print(cJobName, cPrint2Filename) OTHERWISE cPrint2FileName:=CheckPrintFileName(cPrint2FileName) IF oReport:DoPrintExport2(SELF, cPrint2Filename) IF wPrintto==PRINT_EMAIL cDoc:=SysObject():GetSet(SpoolPath) + cPrint2FileName + GetFileExtn() oES:=EmailSelect{SELF} oES:PutData({cDoc}, EmailJobReport, SELF:oDCJobNo:Value) oES:Show() ENDIF ENDIF ENDCASE ************************** METHOD DoPrintExport1(oWindow, cFileName) CLASS V4RpReport // supports pdf995 in two auto-modes: TDOC_TEMP.pdf in prescribed directory, or // SAMEASFILENAME // does NOT use paolo's method of changing PDF995.ini. LOCAL lSetDefault:=FALSE AS LOGIC LOCAL lGotTemp:=FALSE AS LOGIC LOCAL lGotFile:=FALSE AS LOGIC LOCAL lRenamed:=FALSE AS LOGIC LOCAL cCaption:='' AS STRING LOCAL cJobName:='' AS STRING LOCAL cMessage:='' AS STRING LOCAL cFullFilePathName:='' AS STRING LOCAL oTB AS TextBox LOCAL oPrinter AS OBJECT LOCAL DefaultPrinter:='' AS STRING LOCAL DefaultPort:='' AS STRING LOCAL aPrList:={} AS ARRAY LOCAL nPos:=0 AS WORD LOCAL nPos2:=0 AS WORD LOCAL nSecs AS DWORD LOCAL nSecsLeft AS DWORD LOCAL aFiles:={} AS ARRAY LOCAL lWaiting:=TRUE AS LOGIC LOCAL cSpoolPath AS STRING LOCAL cPDFPrinter AS STRING cSpoolPath:=SysObject():GetSet(SpoolPath) cJobName:=cFilename cCaption:=cJobName cMessage:="Exporting "+cJobName+"..." cFullFilePathName:=cSpoolPath + cFileName + ".PDF" // get info oPrinter:=SUPER:PrinterDevice DefaultPrinter:=oPrinter:PrinterName DefaultPort:=oPrinter:PrinterPort aPrList:=oPrinter:GetPrinters() // locate and setup pdf printer nPos:=AScan(aPrList,{|x|x[1]=="PDF995"}) nPos2:=AScan(aPrList,{|x|x[1]==DefaultPrinter}) IF nPos > 0 .AND. nPos2 > 0 .AND. oPrinter:SetPrinterByPort(aPrList[nPos,3],aPrList[nPos,1]) // printer set - go for it ELSE TextBox{oWindow,'Printer Error','Cannot Set PDF995 as Printer'}:Show() RETURN FALSE ENDIF // clear old files IF File(cSpoolPath + "tdoc_temp.pdf") lGotTemp:=IIF(FErase(cSpoolPath + "tdoc_temp.pdf"),FALSE,TRUE) ENDIF IF File(cFullFilePathName) lGotFile:=IIF(FErase(cFullFilePathName),FALSE,TRUE) ENDIF IF lGotTemp .OR. lGotFile // rgtr 100603 oTB:=TextBox{oWindow, LoadResString('Problem',IDG_PROBLEM,nPLH), ; + IIF(lGotTemp,LoadResString('Failed to remove :',IDG_FAILEDTOREMOVEDP,nPLH)+ cSpoolPath + "tdoc_temp.pdf" + CRLF+CRLF, '') ; + IIF(lGotFile,LoadResString('Failed to remove :',IDG_FAILEDTOREMOVEDP,nPLH)+ cFullFilePathName + CRLF +CRLF, '') ; + LoadResString('Suggestion: Clear the Spool File directory',IDG_SUGGESTIONDPCLEAR,nPLH) } oTB:Show() RETURN FALSE ENDIF // perform export SUPER:Print(cJobName, cFileName, cCaption, cMessage) // reset printer lSetDefault:=oPrinter:SetPrinterByPort(aPrList[nPos2,3],aPrList[nPos2,1]) // report if print set or reset didn't work IF ! lSetDefault oTB:=TextBox{oWindow,LoadResString('Problem with setting up pdf printer',IDG_PROBLEMSETTINGUPPDF,nPLH), ; 'Default Printer: ' + DefaultPrinter + CRLF ; + 'Default Port: ' + DefaultPort + CRLF ; + 'Default No: ' + NTrim(nPos2) + CRLF + CRLF ; + 'PDFPr: ' + cPDFPrinter + CRLF ; + 'PDFPort: ' + aPrList[nPos,3] + CRLF ; + 'PDFName: ' + aPrList[nPos,1] + CRLF ; + 'PDF No: ' + NTrim(nPos) + CRLF + CRLF ; + 'Restore: ' + IIF(lSetDefault,'Restore Ok', 'Not Restored')} oTB:Show() RETURN FALSE ENDIF // wait till export completed, msg every ten secs and made looper. // rgtr 130905 nSecs:=Secs(Time()) // set start time nSecsLeft:=Secs(Time()) // time now DO WHILE TRUE ApplicationExec(EXECWHILEEVENT) IF ! nSecsLeft == Secs(Time()) SysObject():STATUSMESSAGE(LoadResString('Waiting for PDF printer - seconds left:',IDG_WAITINGFORPDFPRINTER,nPLH) +' '+ NTrim(10- (Secs(Time())-nSecs))) nSecsLeft:=Secs(Time()) ENDIF // check if file exists and NOT zero length IF File(cSpoolPath + "tdoc_temp.pdf") .OR. File(cFullFilePathName) // got file IF File(cSpoolPath + "tdoc_temp.pdf") aFiles:=Directory(cSpoolPath + "tdoc_temp.pdf") ELSE aFiles:=Directory(cFullFilePathName) ENDIF IF aFiles[1,F_SIZE] > 0 // and its not zero length SysObject():STATUSMESSAGE('') EXIT ENDIF ENDIF IF Secs(Time()) - nSecs > 10 // rgtr 110603 oTB:=TextBox{oWindow, LoadResString('Problem',IDG_PROBLEM,nPLH), ; LoadResString('Please WAIT till the export is completed',IDG_WAITTILLEXPORTDONE,nPLH) + CRLF+CRLF; + LoadResString('Suggestion: Check the PDF Printer Queue',IDG_SUGGESTIONCHECKPDFQ,nPLH), BUTTONRETRYCANCEL} IF oTB:Show() == BOXREPLYCANCEL RETURN FALSE ELSE nSecs:=Secs(Time()) // reset time counting ENDIF ENDIF ENDDO // check results - change temp name to required name if needed lGotTemp:=File(cSpoolPath + "tdoc_temp.pdf") IF lGotTemp nSecs:=Secs(Time()) + 10 // rgtr 100603 nSecsLeft:=0 DO WHILE Secs(Time()) < nSecs IF ! nSecsLeft == nSecs - Secs(Time()) SysObject():STATUSMESSAGE(LoadResString('Please wait for the Output File to be renamed - seconds left:',IDG_WAITINGFORRENAME,nPLH) +' '+ NTrim(nSecs - Secs(Time()))) ENDIF nSecsLeft:=nSecs - Secs(Time()) IF lRenamed:=FRename(cSpoolPath + "tdoc_temp.pdf", cFullFilePathName) cMessage:=DosErrString(FError()) EXIT ENDIF ENDDO ENDIF lGotFile:=File(cFullFilePathName) IF (lGotTemp .AND. !lRenamed) .OR. !lGotFile oTB:=TextBox{oWindow,LoadResString('Problem with renaming pdf file',IDG_PROBLEMRENAMINGPDF,nPLH), ; 'Spool Path: ' + cSpoolPath + CRLF ; + 'Export File: ' + cFileName + CRLF + CRLF ; + 'Temp File: ' + IIF(lGotTemp, 'Exists','Not Found') + CRLF ; + 'Export File: ' + IIF(lGotFile, 'Exists','Not Found') + CRLF ; + 'Renaming: ' + IIF(lRenamed, 'Rename OK','Rename Failed') + CRLF ; + 'DOS Error: ' + cMessage } oTB:Show() ENDIF RETURN lGotFile ************************** METHOD DoPrintExport2(oWindow, cFileName) CLASS V4RpReport LOCAL lGotFile:=FALSE AS LOGIC LOCAL cCaption:='' AS STRING LOCAL cJobName:='' AS STRING LOCAL cMessage:='' AS STRING LOCAL symExportType AS SYMBOL LOCAL cFullFilePathName:='' AS STRING LOCAL oTB AS TextBox LOCAL cExportType AS STRING LOCAL cSpoolPath AS STRING cExportType:=Upper(SysObject():GetSet(ExpFileType)) cSpoolPath:=SysObject():GetSet(SpoolPath) cJobName:=cFilename cCaption:=cJobName cMessage:="Exporting "+cJobName+"..." cFullFilePathName:=cSpoolPath + cFileName IF Empty(cExportType) .OR. ! Instr(cExportType, 'PDF WORD7 WORD5 HTML TEXT EXCEL') oTB:=TextBox{oWindow,LoadResString('Export Problem',IDG_EXPORTPROBLEM,nPLH),LoadResString('Export File Type not specified',IDG_EXPORTFILETYPENOTSPECIFIED,nPLH) } oTB:Show() ELSEIF Empty(cSpoolPath) oTB:=TextBox{oWindow,LoadResString('Export Problem',IDG_EXPORTPROBLEM,nPLH),LoadResString('Spool Directory not specified',IDG_SPOOLDIRECTORYNOTSPECIFIED,nPLH) } oTB:Show() ELSE IF Upper(cExportType) == 'PDF' // if we have pdf995, use it IF SELF:Check4PDF995() lGotFile:=SELF:DoPrintExport1(oWindow, cFileName) RETURN lGotFile ELSE symExportType:= #RP_PDF cFullFilePathName:=cFullFilePathName + ".PDF" ENDIF ELSEIF Upper(cExportType) == 'WORD5' symExportType:= #RP_RTF_WORD95 cFullFilePathName:=cFullFilePathName + ".DOC" ELSEIF Upper(cExportType) == 'WORD7' symExportType:= #RP_RTF_WORD97 cFullFilePathName:=cFullFilePathName + ".DOC" ELSEIF Upper(cExportType) == 'HTML' symExportType:= #RP_HTML cFullFilePathName:=cFullFilePathName + ".HTML" ELSEIF Upper(cExportType) == 'TEXT' symExportType:= #RP_ASCII cFullFilePathName:=cFullFilePathName + ".TXT" ELSEIF Upper(cExportType) == 'EXCEL' symExportType:= #RP_EXCEL cFullFilePathName:=cFullFilePathName + ".XLS" ENDIF IF ! lGotFile SUPER:PrintExport(cCaption, cMessage, symExportType, cFullFilePathName) // check file is there ok. lGotFile:=File(cFullFilePathName) ENDIF IF ! lGotFile oTB:=TextBox{oWindow, LoadResString('Problem',IDG_PROBLEM,nPLH), ; + LoadResString('Failed to create export file',IDG_FAILEDTOCREATEEXPORT,nPLH) + CRLF+CRLF; + LoadResString('Suggestion: Check the Spool File directory',IDG_SUGGESTIONDPCHECK,nPLH) } oTB:Show() ENDIF ENDIF RETURN lGotFile
From: E®!k /!sser on 4 Jul 2008 07:38 Hi Geoff, I do not agree with you on this one. RP3 is very very fast and it is easy to use it like RP2. Several people have written about this, and your Phil McGuiness collected them and has written an article about this. You can find this article on http://www.sdn.nl/Default.aspx?tabid=186&mid=648&ctl=ViewArticle&ItemID=2448 I have assign this article 'public' so you do not even have to register to be able to read it. Erik "Geoff Schaller" <geoffx(a)softxwareobjectives.com.au> schreef in bericht news:486d62c4(a)dnews.tpgi.com.au... > But seriously John, it isn't going to happen. > > As it stands we've altered RP2 to work with our SQL classes and VO2Ado > quite nicely but as for extending it, it is just a VO app and will > therefore do what a VO app can and can't. I am much more comfortable with > RS in a local report viewer. What do you mean by heavy? There are less > DLLs to distribute than with RP! > > RP3, though, was a disaster. I've got no idea what went through Larry's > head when he did this. He killed off all the good features of RP2 without > making any substantial performance improvements. It just became a mess to > integrate with existing VO because now it revolves being an OCX and being > based on Classmate. Both were serious mistakes and I guess he paid for it > with the loss of business. > > Geoff > > > "john.roe(a)roeville.com" <john.roe(a)roeville.com> wrote in message > news:915b5ebe-2824-4227-8d6b-8fcb634528e5(a)k30g2000hse.googlegroups.com: > >> On 3 Jul, 23:47, "Geoff Schaller" <geo...(a)softxwareobjectives.com.au> >> wrote: >> >> > Use MS Reporting Services instead. >> > Far superior on all fronts. >> > >> > "john....(a)roeville.com" <john....(a)roeville.com> wrote in message >> > >> > news:af24e8fe-b052-47b5-99fe-c5bbadc16fb7(a)2g2000hsn.googlegroups.com: >> > >> > >> > >> >> > > Hi >> > >> > > I'm using the PDF export feature included in Report Pro with VO2.8 >> > > but >> > > the lack of support for images and special fonts is very >> > > disappointing, and restricts it's use for commercial output. >> > >> > > Does anyone know of any workarounds or if PDF support is likely to be >> > > improved in the near future? >> > >> > > I've played around with PDF995 - an excellent product - but a >> > > professional integrated solution for Report Pro is what's long been >> > > required. >> > >> > > Thanks >> > >> > > John- Hide quoted text - >> > >> >> > - Show quoted text - >> >> >> Hi Geoff >> >> We're using Reporting Services in some of our C#/M$ SQL apps and it's >> brilliant - but a tad heavyweight for the desktop apps. I still think >> Report Pro has its place and just wish someone would take it forward. >> >> KR >> >> John >
From: Robert van der Hulst on 4 Jul 2008 07:40 Hi john, On Thu, 3 Jul 2008, at 15:43:53 [GMT -0700 (PDT)] (which was 0:43 where I live) you wrote about: 'Report Pro - PDF export' > I'm using the PDF export feature included in Report Pro with VO2.8 but > the lack of support for images and special fonts is very > disappointing, and restricts it's use for commercial output. > Does anyone know of any workarounds or if PDF support is likely to be > improved in the near future? > I've played around with PDF995 - an excellent product - but a > professional integrated solution for Report Pro is what's long been > required. Image support is already available in a version for VOPS subscribers. I am working on Font Embedding at this moment. I expect that this will be available when a version of RP for VO 2.8 SP2 is released to the general public. -- Robert van der Hulst AKA Mr. Data Vo2Jet & Vo2Ado Support VO & Vulcan.NET Development Team www.heliks.nl
From: Robert van der Hulst on 4 Jul 2008 07:41
Hi Geoff, On Thu, 3 Jul 2008, at 23:37:45 [GMT +0000] (which was 1:37 where I live) you wrote about: 'Report Pro - PDF export' > But seriously John, it isn't going to happen. It is. See my reply to John. As usual, you are answering on behalf of others, without knowing the real facts. -- Robert van der Hulst AKA Mr. Data Vo2Jet & Vo2Ado Support VO & Vulcan.NET Development Team www.heliks.nl |