Sun Microsystems
Termékek
 
Támogatás
 
 

Előző Előző     Tartalom     Tárgymutató     Következő Következő

A példaprogram először ellenőrzi, hogy az adott dokumentum módosult-e az utolsó mentése óta. Csak akkor folytatja a mentési folyamatot, ha ez igaz. Ha a dokumentumhoz már hozzá van rendelve egy URL, és a dokumentum nem írásvédett, akkor a program menti a meglévő URL-lel. Ha nem rendelkezik URL-lel, vagy csak olvashatóként van megnyitva, akkor a program egy új URL-lel menti.

A storeAsURL metódus lehetőségei

Ahogy a loadComponentFromURL metódusnál is, úgy a storeAsURL metódus használatánál is megadható néhány lehetőség egy PropertyValue adatmező formájában. Ezek meghatározzák a StarOffice által használt dokumentummentési folyamatot. A storeAsURL metódus a következő lehetőségekkel rendelkezik:

  • CharacterSet (karakterlánc) - megadja, milyen karakterkészleten alapul a dokumentum.

  • FilterName (karakterlánc) - megad egy speciális szűrőt a loadComponentFromURL függvény számára. Az elérhető szűrőnevek a \share\config\registry\instance\org\openoffice\office\TypeDetection.xml fájlban vannak definiálva.

  • FilterOptions (karakterlánc) - további lehetőségeket definiált a szűrők számára.

  • Overwrite (logikai érték) - lehetővé teszi, hogy a program rákérdezés nélkül felülírjon egy létező fájlt.

  • Password (karakterlánc) - átadja a jelszót egy védett fájlnak.

  • Unpacked (logikai érték) - alkönyvtárakba menti a dokumentumot (tömörítés nélkül).

A következő példa bemutatja, hogyan használható az Overwrite lehetőség a storeAsURL metódussal együtt:

Dim Doc As Object

Dim FileProperties(0) As New com.sun.star.beans.PropertyValue

Dim Url As String



' ... a dokumentum inicializálása 



Url = "file:///c:/test3.sxw"



FileProperties(0).Name = "Overwrite"

FileProperties(0).Value = True



Doc.storeAsURL(sUrl, mFileProperties())

Ezután a példaprogram menti a Doc objektumot a megadott fájlnévvel, ha már létezik ilyen nevű fájl.

Dokumentumok nyomtatása

A mentéshez hasonlóan a dokumentumokat közvetlenül a dokumentumobjektummal lehet kinyomtatni. A com.sun.star.view.Xprintable felület Print metódusa használható erre a célra: A legegyszerűbb formájában a nyomtatás így néz ki:

Dim Dummy()



Doc.print(Dummy())

Ahogy a loadComponentFromURL metódus esetében is, úgy itt is a Dummy paraméter egy PropertyValue adatmező, amelyen keresztül a StarOffice számos lehetőséget meg tud adni a nyomtatáshoz.

A print metódus lehetőségei

A print metódus egy PropertyValue adatmezőt vár paraméterként, amely a StarOffice Nyomtatás párbeszédablakának beállításait tartalmazza:

  • CopyCount (egész szám) - a kinyomtatandó példányok számát adja meg.

  • FileName (karakterlánc) - a megadott fájlba nyomtatja a dokumentumot.

  • Collate (logikai érték) - arra utasítja a nyomtatót, hogy válogassa szét a kinyomtatott példányok lapjait.

  • Sort (logikai érték) - rendezi a példányokat több példány nyomtatásánál (CopyCount > 1).

  • Pages (karakterlánc) - a kinyomtatandó oldalak listáját tartalmazza (a szintaxis a Nyomtatás párbeszédablakéval azonos).

A következő példa bemutatja, hogyan nyomtatható ki több oldal a Pages lehetőséggel:

Dim Doc As Object

Dim PrintProperties(0) As New com.sun.star.beans.PropertyValue



PrintProperties(0).Name="Pages"

PrintProperties(0).Value="1-3; 7; 9"



Doc.print(PrintProperties())

Nyomtatókiválasztás és -beállítások

A com.sun.star.view.XPrintable felület biztosítja a Printer tulajdonságot, amely kijelöli a nyomtatót. Ez a tulajdonság egy PropertyValue adatmezőt kap a következő beállításokkal:

  • Name (karakterlánc) - megadja a nyomtató nevét.

  • PaperOrientation (enumeráció) - megadja a papír tájolását (a com.sun.star.view.PaperOrientation.PORTRAIT érték jelenti az álló tájolást, a com.sun.star.view.PaperOrientation.LANDSCAPE pedig a fekvőt).

  • PaperFormat (enumeráció) - megadja a papír formátumát (például a com.sun.star.view.PaperFormat.A4 a DIN A4 méretű papírt jelenti, a com.sun.star.view.PaperFormat.Letter pedig az amerikai Letter szabványút).

  • PaperSize (méret) - megadja a papír méretét századmilliméterben.

A következő példa bemutatja, hogyan módosítható a nyomtató, és hogyan állítható be a papírméret a Printer tulajdonsággal.

Dim Doc As Object

Dim PrinterProperties(1) As New com.sun.star.beans.PropertyValue

Dim PaperSize As New com.sun.star.awt.Size



PaperSize.Width = 20000   ' 20 cm

PaperSize.Height = 20000   ' 20 cm



PrinterProperties (0).Name="Name"

PrinterProperties (0).Value="Irodai HP Laserjet"



PrinterProperties (1).Name="PaperSize"

PrinterProperties (1).Value=PaperSize



Doc.Printer = PrinterProperties()

Előző Előző     Tartalom     Tárgymutató     Következő Következő