/todo/graphic.todo
Unknown | 121 lines | 121 code | 0 blank | 0 comment | 0 complexity | d9bc7e0b0987fd12661de644292b7810 MD5 | raw file
1- steps 2 + import the pdf module from zend framework 3 - implement wrapped rich text processing 4 + parser module 5 + get ZendPdfContext working 6 + create an example with an html string that is just some lorum ipsum text with a few <br>s in it 7 + implement the following as necessary to parse the string 8 + GraphicDocument extends GraphicDiv 9 + GraphicDiv 10 + GraphicTextRun 11 + verify that the DOM tree is created properly 12 + write a Zend_Pdf graphic context 13 - render the div 14 + impement the following as needed 15 + GraphicHardBrokenLine 16 + GraphicSoftBrokenLine 17 + GraphicTextStyle 18 + figure out the best way to specify the canvas size 19 + give the document a size and have have it pass the width down to it's children 20 + make it actually draw the basic text 21 + figure out why its drawing the last segment 3 times 22 + now make it draw correct 23 + in ZendPdfContext put 0,0 in the upper left corner 24 - make the measuring stuff actually work so that hard broken line can break into softbrokenlines 25 - make the example have more text and in a smaller area for testing this 26 - make sure it is wrapping properly with the default styles 27 - handle left/right whitespace issues properly 28 - figure out how to map raw xhtml style onto the attributes for the various GraphicObject descendants 29 - more advanced text features 30 - alignment (left, center, right) 31 - make all kinds of text styles work 32 - have the ability to "fit" text to a space 33 - for instance check it at a certain size and shrink the text size if it doesn't fit 34 - you might need to be register callback to handle some situations that can't be described by data alone 35 - automatic replacement of certain bad characters like the crazy dashes 36 - repeating 37 - allow you to repeat stuff in individual blocks/pages 38 - allow you to skip certain pages 39 - allow you to start on any page 40 - have some facility for saying: Page curPage of totalPages 41 - release a new version for the Zend_Pdf people 42 - update the front page to also refer people to Zend Framework 43 - document our inclusion of some parts of Zend Framework 44 - add a copyright notice 45 - choose a licence that is compatible with Zend_Pdf (new bsd?) 46 - build new api docs 47 - build a new tarball 48 - post it to the google code site 49 - possibly set up a site showing the code and the results 50 - maybe even set up a demo where they can type in their text and have it generate a pdf 51 - notify the zend framework mailing list 52 - create GuiGraphic and GuiPdf 53 - extend Gui and get the xml 54 - fully modular parser 55 - doesn't understand any tags 56 - each tag tag type must load a parser module 57 - creates DOM objects 58 - enhance GraphicDiv 59 - breaking across pages (with proper widow/orphan support) 60 - make sure borders, margins, padding, backgrounds etc work (use dompdf test to check yourself) 61 - float attributes??? 62 - css 63 - parse css info in the header 64 - apply styles to the DOM 65 - make sure you follow proper cascading rules 66 - then tables 67 - borders, padding, margins, backgrounds, etc 68 - column sets, document, 69 - ... 70 - charts and graphs??? 71- controlled rendering 72 - parse xml, yaml, html etc, but whitelist what tags/attributes will be preserved 73 - then send the results back to original form to be rendered by a browser or render them as is 74- performance 75 - are HardBrokenLines broken into SoftBroken lines over and over again? If so can you do it once and cache the results? 76 - how intensive is calcing the char widths? can that be cached? 77- focus on the weaknesses of the current implementation 78 - divs 79 - vertical centering 80 - borders 81 - spacing 82 - background colors/patterns/images 83 - breaking across pages 84 - tables 85 - borders 86 - padding 87 - margin 88 - spacing - what is this margin and padding are both different kinds of spacing 89 - colspan 90 - rowspan 91 - breaking across pages 92 - widow / orphan support 93 - columns widths need to be consistent across rows even if they are not explicitly specified or are specified in rows 94 other than the first one 95 - allow you to use lists and divs instead of tables for layout and association (including for widow / orphan support) 96 - debugging 97 - make it easy to spit out: 98 - the produced xml file 99 - a tree representing the object structrure that was created 100 - maybe just make it something you can add into the url??? 101 - parser 102 - try to conform as best you can to the html/css specs 103 - modulerize the parser so that each element is part of some module, keep core parser very modular 104 - use svg for other graphics 105 - shapes, lines, etc 106 - make sure you can have point level precision with anything you might want to draw 107 - page breaks 108 - let you specify the page size for each page break 109 - why does it not hanlde xml/html entities like 110 - make sure that styles always apply to exactly what the dom indicates they should apply to 111 - documentation 112 - from the very beginning have a format for documenting the syntax of the xml 113 - document first how you want it to work 114 - then make it work like the docs say it will 115 - css 116 - there isn't much point in working towards compatibility with HTML if you don't have CSS support 117- test suites 118 - http://www.w3.org/Style/CSS/Test/CSS1/current/ 119 - http://www.google.com/search?client=safari&rls=en&q=html+div+css+examples&ie=UTF-8&oe=UTF-8 120 - http://www.google.com/search?client=safari&rls=en&q=css+test+suite&ie=UTF-8&oe=UTF-8 121 - http://www.google.com/search?client=safari&rls=en&q=html+table+css+examples&ie=UTF-8&oe=UTF-8