online cheap medications order generic bactrim price, and buy cheap online buy cheap discount lasix, and cheap pharmacy lipitor without rx, and online ordering accutane review, and order cheap how much acyclovir to kill, and buy cheapest synthroid order online, and pharmacy cheapest cheap baclofen pill, and order online directions for taking clomid, and online cheap medications cheap hydrochlorothiazide without rx, and cheap pharmacy purchase amoxil cod overnight delivery, and cheap pharmacy arimidex online overnight, and buy cheap online buy buy zithromax pill online, and order online online valtrex prescription in utah, and buy cheapest buy cheap discount online flagyl, and buy online zovirax (acyclovir) cheapest, and buy cheap how to buy prozac online without a rx, and cheap pharmacy cash on delivery paxil, and cheap pharmacy diflucan cod delivery next day, and purchase no prescription propecia cancer prevention, and generic medications neurontin and online overnight delivery, and purchase no prescription norvasc fedex shipping, and online ordering purchase doxycycline next day cod, and ordering online feminizing effects of premarin, and buy cheap online buspar and wellbutrin, and online cheap medications order overnight retin-a, and

Showcase

Hi everybody,

I just created a "Showcase" link on the blog, where I would like to link any applications using AlivePDF.

The problem is that I don't have much links as you can see :)

Can you please post a little message on the forum (Showcase forum), so that I can present your application in the "Showcase" link.

Thank you very much !

Comments 3

  1. Evan wrote:

    AlivePDF rocks! I hope to make a little app in the next couple of weeks to put in the showcase.

    cheers!

    Posted 26 Jun 2008 at 9:03 pm
  2. yossi shoham wrote:

    Hi to all

    Just wanted to share

    My goal was to create a quick report from an ArrayCollection filled from a database and make it generic as possible

    In my program I fill the ArrayCollection from a database using the data-service as such

    true
    flex.data.assemblers.SQLAssembler
    application

    20

    org.postgresql.Driver

    jdbc:postgresql://yourdomain.com/youeDB

    <!–jdbc:postgresql://serverName/youeDB–>
    username
    password
    15

    all_users_sortby_report_dummy_key
    SELECT * , user_lookup_key as report_dummy_key FROM user_lookup ORDER BY report_dummy_key

    all_users_sortby_last_name
    SELECT * , user_lookup_key as report_dummy_key FROM user_lookup ORDER BY user_last_name

    all_centers
    SELECT * , center_lookup_key as report_dummy_key FROM center_lookup

    /*=========================================================================================
    By using the

    and no AS class the DataService is able to produce an ArrayCollection from the List returned from fill().

    The most important thing is to remember that this List coming back and handled
    by Flex DataService must be able to have a unique key of some sort otherwise the fill()
    will fail and will return an empty collection back to Flex

    Flex will use this in the ArrayCollection even though in the table the key column is named
    differently also when no key is in the query but the results
    are ALL unique it will use that filed and call it “report_dummy_key”

    with a view must return a unique filed and call it “report_dummy_key”

    CREATE OR REPLACE VIEW name AS
    SELECT DISTINCT random() AS report_dummy_key………

    Default sorting should be done in the query with ORDER BY report_dummy_key

    If another sorting is desire it MUST be done in the query see: user sort by last name

    Its probably more efficient to have the Database do the sorting and send to the client
    a sorted result then to have Flash get the result and then sort it
    Also it will be cumbersome to sort on different fields name and still try to make this
    as generic as possible
    Also with big results set coming to Flash the sort may take a long time, the database
    is more efficient in sorting and on a slow client the sorting in Flash can be a bottleneck

    in the sample following the ArrayCollection can be filled using the above technique [I just used a fiction ArrayCollection here]

    /*=====================================================================
    /*=====================================================================
    /*=====================================================================
    /*=====================================================================

    0){ //===do this only if resultsSQL_AC is NOT empty
    myPDF.setFont(FontFamily.ARIAL, Style.NORMAL, 8 )

    //===header and propertyName can be the same variable both drive from classInfo.properties[i]
    //===it’s just more clear on the usage of these variables when done like this

    var oneItemFromACForHeader:Object = new Object()
    var header:String = ”

    var oneItemFromACForDate:Object = new Object()
    var propertyName:String = ”
    var data:String = ”

    var i:int=0
    var iAC:int=0

    var key:String = ”

    oneItemFromACForHeader=resultsSQL_AC[0]
    classInfo=Object(ObjectUtil.getClassInfo(oneItemFromACForHeader))

    //===Initialize cellWidthObj and find max cell width to fit longest data
    cellWidthObj['RecNumber']=7 //===width for Record Number
    for ( i=0 ; i<classInfo.properties.length ; i++){
    header=classInfo.properties[i]
    cellWidthObj[header]=header.length*WIDTH_MULTIPLIER
    }

    for ( iAC=0 ; iAC<resultsSQL_AC.length ; iAC++){
    oneItemFromACForDate=resultsSQL_AC[iAC]
    for ( i=0 ; i<classInfo.properties.length ; i++){
    propertyName=classInfo.properties[i]
    for (key in oneItemFromACForDate){
    if (key==propertyName){
    if (oneItemFromACForDate[key]!=null){//===if null PDF will not be created
    if (cellWidthObj[propertyName]<(oneItemFromACForDate[key].toString().length*WIDTH_MULTIPLIER)){
    cellWidthObj[propertyName]=oneItemFromACForDate[key].toString().length*WIDTH_MULTIPLIER

    }}}}}}

    //===header
    cellWidth=cellWidthObj['RecNumber']
    myPDF.setX(previousCellWidth+celldistance)
    myPDF.addCell ( cellWidth, cellHight, ‘ # ‘, 1)
    previousCellWidth+=cellWidth
    for ( i=0 ; i<classInfo.properties.length ; i++){
    header=classInfo.properties[i]
    cellWidth=cellWidthObj[header]
    myPDF.setX(previousCellWidth+celldistance)

    if (Boolean(ObjectUtil.isSimple(header))){ //===Need this because mx_internal_uid may be undefined or null
    myPDF.addCell ( cellWidth, cellHight, header, 1)
    }
    previousCellWidth+=cellWidth
    }
    //===data
    for ( iAC=0 ; iAC0)&&
    (((orientation==LANDSCAPE_REPORT)&&(iAC%20==0))|| // after 20 records do new page
    ((orientation==PORTRAIT_REPORT)&&(iAC%35==0)))){ // after 35 records do new page

    if (orientation==LANDSCAPE_REPORT){myPDF.addPage(Orientation.LANDSCAPE,Unit.MM,Size.A4)}
    else{myPDF.addPage(Orientation.PORTRAIT,Unit.MM,Size.A4)} //===it’s a PORTRAIT

    pageCount+=1
    pageCountStr=’Page Number: ‘+pageCount.toString()
    myPDF.setFont(FontFamily.ARIAL, Style.NORMAL, 12 )
    myPDF.newLine(10)
    myPDF.writeText(5,pageCountStr)

    myPDF.newLine(10)
    myPDF.writeText(5,reportNameStr)

    myPDF.setFont(FontFamily.ARIAL, Style.NORMAL, 8 )
    myPDF.newLine(10)
    previousCellWidth=0
    //===header for next page
    cellWidth=cellWidthObj['RecNumber']
    myPDF.setX(previousCellWidth+celldistance)
    myPDF.addCell ( cellWidth, cellHight, ‘ # ‘, 1)
    previousCellWidth+=cellWidth
    for ( i=0 ; i<classInfo.properties.length ; i++){
    header=classInfo.properties[i]
    cellWidth=cellWidthObj[header]
    myPDF.setX(previousCellWidth+celldistance)
    if (Boolean(ObjectUtil.isSimple(header))){
    myPDF.addCell ( cellWidth, cellHight, header, 1)
    }
    previousCellWidth+=cellWidth
    }
    }
    myPDF.newLine(5)
    previousCellWidth=0
    cellWidth=cellWidthObj['RecNumber']
    myPDF.setX(previousCellWidth+celldistance)
    myPDF.addCell ( cellWidth, cellHight, (iAC+1).toString(), 1)
    previousCellWidth+=cellWidth
    for ( i=0 ; i

    /*=====================================================================
    /*=====================================================================
    /*=====================================================================
    /*=====================================================================

    Posted 15 Aug 2008 at 5:18 pm
  3. gmcneel wrote:

    I would love to show what we are doing, but it is all behind NASA firewalls. Suffice to say we are very happy with AlivePDF and thanks.

    Posted 28 Jul 2009 at 9:47 pm

Post a Comment

Your email is never published nor shared. Required fields are marked *