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 180
 cor4:app:objects:cooxmlprinter [Cor4 WIki]

This is an old revision of the document!


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 OpenOffice által használt (zip) fájlból a content.xml és styles.xml fájlokat használja fel a megjelenítéshez.

TODO

  • példányszám a nyomtatásra
  • 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 ini fájlban definiált nyomtatók közül választhatunk.

Metódusok

print

void 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.

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…:)

cor4/app/objects/cooxmlprinter.1136330843.txt.gz · Last modified: 2021/01/05 11:43 (external edit)