Strict Standards: Declaration of action_plugin_importoldindex::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /var/www/html/lib/plugins/importoldindex/action.php on line 8

Strict Standards: Declaration of action_plugin_popularity::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /var/www/html/lib/plugins/popularity/action.php on line 57

Strict Standards: Declaration of action_plugin_safefnrecode::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /var/www/html/lib/plugins/safefnrecode/action.php on line 66

Strict Standards: Declaration of action_plugin_importoldchangelog::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /var/www/html/lib/plugins/importoldchangelog/action.php on line 182

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/lib/plugins/importoldindex/action.php:8) in /var/www/html/inc/actions.php on line 607

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/lib/plugins/importoldindex/action.php:8) in /var/www/html/inc/actions.php on line 607

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/lib/plugins/importoldindex/action.php:8) in /var/www/html/inc/actions.php on line 607
====== COOXMLPrinter ====== Ez az osztály is a nyomtatást teszi lehetővé a [[CPDFExporter]] osztályhoz hasonlóan. A működése az említetthez hasonló azzal a különbséggel, hogy az [[http://www.openoffice.org|OpenOffice]] által használt (zip) fájlból a ''content.xml'' és ''styles.xml'' fájlokat használja fel a megjelenítéshez. ===== TODO ===== * paragrafuson belüli stílus-váltások kezelése * fejléc ismétlése, ha a táblázat átlóg a következő oldalra ===== konstruktor ===== ''COOXMLPrinter(string xmlfile [, string stylefile="" [, string printer="print1"]])'' A megadott ''xmlfile''-t veszi alapul a nyomtatáskor, mint content.xml sablont. Amennyiben a ''stylefile'' paraméter nem üres sztring, akkor azt a fájlt is felolvassa, mint styles.xml fájlt. A ''printer'' paraméterrel az [[cor4:app:cor4app.ini|ini]] fájlban definiált nyomtatók közül [[cor4:app:printer_select|választhatunk]]. ===== Metódusok ===== ==== BackgroundImage ==== ''bool backgroundimage(CImage im, int left, int top, int width, int height)'' A megadott [[cor4:app:objects:cimage|képet]] a ''left'', ''top'' bal felső sarokkal és ''width'', ''height'' szélességgel illetve magassággal a nyomtatás hátterébe rakja. A méreteket század milliméterben kell megadni. ==== LinkImage ==== ''bool linkimage(string name, CImage im, int width, int height)'' A ''name'' paraméterben megadott szöveget lecserélni az ''im'' paraméterben definiált [[cor4:app:objects:cimage|képre]]. A kép szélességét és magasságát a ''width'' és a ''height'' paraméterekben adhatjuk meg század milliméterben (tehát az 1000-es érték jelenti az 1cm-t) A csere csak abban az esetben történik meg, ha a szöveg önmagában áll, azaz abban a sorban az az egyetlen megjelenítendő dolog. A paragrafus rendezése hat a kép rendezésére is. ==== Print ==== ''int print(array vars [,array3d tables = null [, boolean landscape = false]])'' A nyomtató metódus. A ''vars'' tömbnek ''kulcs''-''érték'' párokat kell tartalmaznia, ahol a ''kulcs'' és az ''érték'' is szöveges és eredményeképpen a dokumentumban előforduló összes ''kulcs''-ot ''érték''-re cseréli (a csere kisbetű/nagybetű érzékeny). Érdemes valamilyen módon ezeket a ''kulcs''-okat kiemelni a dokumentumból (pl: %%%kulcs, __kulcs__, stb.), de erre nincs megkötés. A ''tables'' tömb tartalmazza a dinamikus tömbökhöz szükséges adatokat. Az első kulcs tartalmazza a táblázat nevét, majd ez alatt egy két dimenziós tömbben az adatokat. A ''landscape'' paraméter **true** értéke esetén a kinyomtatott oldal fekvő lesz, ellenkező esetben álló (ez az alapérték is). Ha csak a ''landscape'' paramétert szeretnénk megadni és nincs szükségünk a ''tables'' paraméterre, akkor a ''tables'' paraméternek adjunk **null** értéket. A visszatérési érték a létrehozott nyomtatási nézet ''printid'' értéke (amit a [[#PrintTo]] metódusban használhatunk fel) illetve **NULL**, ha az [[cor4:app:cor4app.ini|ini fájlban]] nincs engedélyezve a nyomtatási nézet. ==== PrintModal ==== ''int printmodal(array vars [,array3d tables = null [, boolean landscape = false]])'' Csak annyiban tér el a ''print'' metódustól, hogy megvárja míg a nyomtatási nézet ablakod bezárják (ha az [[cor4:app:cor4app.ini|ini-ben]] nem tiltottuk le). A visszatérési érték a kinyomtatott példányszám. ==== PrintTo ==== ''void printto(int printid, array vars [,array3d tables = null [, boolean landscape = false]])'' A megadott ''printid''-jű nyomtatási nézethez hozzáadja az itt megadott nyomtatást. A további paraméterek teljesen megegyeznek a [[#Print]] metódusnál leírtakkal. Ha a megadott ''printid''-vel nem létezik nyomtatási nézet, akkor létrehoz egyet (ennek nem kapjuk vissza az azonosítóját, ezért nem tudunk rá további lapokat nyomtatni). Ennek mellékhatása, hogy ha a ''printid'' olyan értéket tartalmaz, ami soha nem létezhet (pl: **-1**), akkor mindig új nyomtatási nézet jön létre, függetlenül attól, hogy milyen beállítás van az [[cor4:app:cor4app.ini#display1|ini fájlban]]. ==== PrintToPage ==== ''void printto(int printid, array vars [,array3d tables = null [, boolean landscape = false]])'' A megadott ''printid''-jű nyomtatási nézet utolsó lapja után fűzi az itt megadott nyomtatást. A további paraméterek teljesen megegyeznek a [[#Print]] metódusnál leírtakkal. Ha a megadott ''printid''-vel nem létezik nyomtatási nézet, akkor létrehoz egyet (ennek nem kapjuk vissza az azonosítóját, ezért nem tudunk rá további lapokat nyomtatni). Ennek mellékhatása, hogy ha a ''printid'' olyan értéket tartalmaz, ami soha nem létezhet (pl: **-1**), akkor mindig új nyomtatási nézet jön létre, függetlenül attól, hogy milyen beállítás van az [[cor4:app:cor4app.ini#display1|ini fájlban]]. ==== SetPaperSize ==== ''void setpapersize(int papersize_const)'' A metódus a megadott [[cor4:app:consts|konstansnak]] megfelelően beállítja a nyomtató lapméretét. Amennyiben a megadott méretű lapot a nyomtató nem képes kezelni, akkor a nyomtató default lapméretét alkalmazza. ==== SetTable ==== ''void settable(string tablename, array2d values)'' A metódus táblázat sokszorosítására használható. Az első paraméter (''tablename'') a sokszorositandó táblázat neve. A második paraméter (''values'') egy 2D-s tömb, az első kulcs a táblázatot azonosítja, a második kulcs pedig a táblázatban kicserélendő szöveget, és ezen kulcs alatt szerepel az a string amire cserélni kell a második kulcsot. Ime egy egyszerű példa: $pr->SetTable('table', array( array('#name#' => 'Géza', '#identity#' => 'Fiú'), array('#name#' => 'Sára', '#identity#' => 'Lány') ) ); A ''table'' nevű táblázatból két példányt készít, majd az első táblázatban a ''#name#'' szöveget "Géza"-ra, az ''#identity#'' szöveget "Fiú"-ra, a másodikban a ''#name#'' szöveget "Sára"-ra, az ''#identity#'' szöveget "Lány"-ra cseréli. ===== Jótanácsok ===== * A mértékegységet célszerű átállítani "cm"-re, mert egyenlőre csak ezt a mértékegységet kezeli (Tools/Options.../Text Document/General/Settings/Measurement unit) * A behelyettesítendő szövegeket érdemes valamilyen ritkán használt, speciális jelek közé tenni, (pl.: ''###text###'' vagy ''@@@text@@@''), azért hogy véletlenül se helyettesítsünk a dokumentumban olyan részeket, amiket nem volt szándékunkban...:)