PDF-raportit
Sisältö
Tässä dokumentissa kuvataan pdf-kirjan (esimerkiksi varaosakirjan) luonnissa käytettävän xml-ohjaustiedoston sisältö.
Kyseisiä ohjaustiedostoja käytetään esimerkiksi varaosaluetteloiden tulostamiseen, projektin yms. mapitustyökalun käytössä, ikkuna- ja ovitilausdokumenttien luonnissa jne. Ohjaustiedosto määrittää tuotettavan pdf-tiedoston ulkoasun sekä mahdollisesti sisältöön otettavia asioita.
Esimerkki
Esimerkki käytetystä ohjaustiedostosta:
<?xml version="1.0" encoding="ISO-8859-1"?>
<document indextitle="Sisällysluettelo">
<index>
<level value="1" font="Verdana" size="14" fontstyle="bold" />
<level value="2" fontstyle="bold"/>
<level value="3" font="Verdana" size="10" fontstyle="italic" />
</index>
<doccover coverpath="\$SystemRoot\$/templates/pdm_templates/pdf_kirja_kansi.pdf">
<covertextblock align="center" size="25" font="Verdana" textposition="50%, 80%, 1">
<covertext content="[OBJCODE], " size="18" font="Verdana" fontstyle="bold"/>
<covertext content="[DESCR]" size="16" font="Verdana"/>
</covertextblock>
<covertextblock align="center" size="20" font="Verdana" textposition="50%, 70%, 1">
<covertext content="[OBJNAME]" size="18"/>
</covertextblock>
</doccover>
<headerfooter widths="2,2,16,5" padding="10" id="footer1" height="40">
<headerfootercell content="Sivu" fontstyle="italic"/>
<headerfootercell content="[PAGENUMBER]" fontstyle="bold"/>
<headerfootercell content="[OBJCODE]" horizontalalign="right" fontstyle="bold"/>
<headerfootercell content="[DESCR]" horizontalalign="right" fontstyle="bold"/>
</headerfooter>
<headerfooter widths="2,2,16,5" padding="10" id="footer2" height="40">
<headerfootercell content="Sivu" fontstyle="italic" verticalalign="top"/>
<headerfootercell content="[PAGENUMBER]" fontstyle="bold" verticalalign="top"/>
<headerfootercell content="[OBJCODE]" horizontalalign="right" fontstyle="bold" verticalalign="top"/>
<headerfootercell content="[DESCR]" horizontalalign="right" fontstyle="bold" verticalalign="top"/>
</headerfooter>
<headerfooter id="header1" widths="1,1" padding="10">
<headerfootercell content="[OBJCODE]" horizontalalign="left" />
<headerfootercell content="[DATETIME]" horizontalalign="right" />
</headerfooter>
<parttablewidths="5,10,20,10,4" footerId="footer1" headerId="header1" nowrap="false" bookmarklabel="[OBJCODE] [DESCR]" headerrow_backgroundcolor="#1EA7CF"
headerrow_borderwidth="1" headerrow_border="3">
<headercell content="Nro" verticalalign="top" cellpadding="3" fontstyle="bold"/>
<headercell content="Koodi" verticalalign="top" cellpadding="3"/>
<headercell content="Kuvaus" verticalalign="top" cellpadding="3"/>
<headercell content="Kuvaus2" verticalalign="top" cellpadding="3"/>
<headercell content="Sivu" verticalalign="top" cellpadding="3"/>
<parttablecell content="[PNO]" cellpadding="3" border="3" verticalalign="top" fontstyle="bold"/>
<parttablecell content="[OBJCODE]" cellpadding="3" border="3" verticalalign="top"/>
<parttablecell content="[DESCR]" cellpadding="3" border="3" verticalalign="top"/>
<parttablecell content="[DESCR2_FI]" cellpadding="3" border="3" verticalalign="top"/>
<parttablecell content="[PAGENUMBER]" cellpadding="3" border="3" verticalalign="top"/>
</parttable>
<partimage footerId="footer1" headerId="footer2" bookmarklabel="[OBJCODE] [DESCR], piirustus"/>
</document>
document -elementti
Tämä elementti on dokumentin ylin taso, määrittää siis koko dokumenttiin liittyviä asioita.
Mahdollisia lapsielementtejä ovat:
Elementin nimi | Kuvaus |
index | Sisällysluettelon määritykseen liittyvä elementti |
doccover | Kansilehden määritykseen liittyvä elementti |
headerfooter | Määrittää ylä- ja alatunnisteiden sisällöt |
parttable | Määrittää osaluetteloon liittyvät tiedot |
partimage | Määrittää osaluettelon kuvaan liittyvät tiedot |
statictable | Määrittää staattisen taulukon sivulle |
nestedtable | Määrittää sisäkkäin tulostettavan taulukon (taulukko taulukon sisällä) |
linebreak | Sivulle sijoitettava rivinvaihto, käytetään esim. usean statictable kanssa |
pagebreak | Sivulle tehtävä sivunvaihto, esim. statictablen käytön yhteydessä |
Mahdollisia attribuutteja ovat:
Attribuutin nimi | Kuvaus | Mahdollinen arvo | Oletus |
pagesize | PDF:n sivukoko, esim A4 | A0…B6 | A4 |
left | Vasemman reunan marginaali pikseleinä | 0…n | 60 |
right | Oikean reunan marginaali pikseleinä | 0…n | 60 |
top | Yläreunan marginaali pikseleinä | 0…n | 60 |
bottom | Alareunan marginaali pikseleinä | 0…n | 60 |
orientation | Sivun orientaatio, portrait/landscape | portrait/landscape | landscape |
font | Dokumentissa käytettävä fontti | kaikki järjestelmässä olevat fontit | Verdana |
size | Dokumentissa käytettävän fontin koko | 1…n | 10 |
fontstyle | Dokumentissa käytettävän fontin tyyli | normal/italic/ bold/bolditalic | normal |
color | Dokumentissa käytettävän fontin väri | värikoodi tekstinä/hexa | #000000 |
author | PDF:n metatietoja | teksti | Vertex Systems |
title | PDF:n metatietoja | teksti | |
subject | PDF:n metatietoja | teksti | PDF-booklet |
keywords | PDF:n metatietoja | teksti | |
indexlabel | Sisällysluettelon otsikko | teksti | [OBJCODE], [DESCR] |
indexlabelalt | Sisällysluettelon otsikko silloin kun indexlabel:issa olevaa ehdollista otsikkoa esim LINKEDPROJECT.OBJNAME ei ole objektille määritelty | teksti | - |
indextitle | Sisällysluettelon otsikko | teksti | Table Of Contents |
indexduplicates | Attribuutti, jolla saa sisällysluettelosta duplikaatit pois | true/false | true |
print_indexheaderfooter | Attribuutti, jolla saa kansilehdelle ylä- ja alatunnisteen | true/false | false |
defrootitem | Muuttuja, jolla määritellään noudattaako nimikerakenteen päänimike mm. varaosakirjan luonnissa Kerää varaosakirjaan –tietoa (ts. päänimike ei ole varaosa, defrootitem=true, PDM-9313). | true/false | false |
index -elementti
Sisällysluettelon ulkoasun määrittävä elementti.
Mahdollisia lapsielementtejä ovat:
Elementin nimi | Kuvaus |
level | yhtä sisällyslettelon tasoa kuvaava elementti |
Mahdollisia attribuutteja ovat:
Attribuutin nimi | Kuvaus | Mahdollinen arvo |
font | Käytettävä fontti | kaikki järjestelmässä olevat fontit |
size | Käytettävän fontin koko | 1…n |
fontstyle | Käytettävän fontin tyyli | normal/italic/bold/bolditalic |
color | Käytettävän fontin väri | värikoodi tekstinä/hexa |
level –elementti
Sisällysluettelon yhden tason ulkoasun määrittävä elementti.
Mahdollisia attribuutteja ovat:
Attribuutin nimi | Kuvaus | Mahdollinen arvo |
value* | Numeerinen arvo, joka kertoo otsikkotason | 1…n |
font | Käytettävä fontti | kaikki järjestelmässä olevat fontit |
size | Käytettävän fontin koko | 1…n |
fontstyle | Käytettävän fontin tyyli | normal/italic/bold/bolditalic |
color | Käytettävän fontin väri | värikoodi tekstinä/hexa |
doccover -elementti
Mahdollisia lapsielementtejä ovat:
Elementin nimi | Kuvaus |
covertextblock | Kuvaa kansilehdelle sijoitettavaa tekstiä |
Mahdollisia attribuutteja ovat:
Attribuutin nimi | Kuvaus | Mahdollinen arvo |
coverpath | Kansilehdeksi käytettävän tiedoston sijainti | polku tekstinä (1) |
coveraddtext | Kansilehdelle sijoitettava teksti | teksti (2) |
textposition | Kansilehdelle sijoitettavan tekstin sijainti | x, y, sivunumero (2,3) |
size | Kansilehdelle sijoitettavan tekstin koko | 1…n (2) |
covertextblock -elementti
Elementti, joka mahdollistaa yhden tai useamman tekstiosan sijoituksen kansilehdelle. Mahdollisia lapsielementtejä ovat:
Elementin nimi | Kuvaus |
covertext | Elementti kansilehdelle sijoitettavaa tekstiä varten, vähintään yksi määriteltävä |
Mahdollisia attribuutteja ovat:
Attribuutin nimi | Kuvaus | Mahdollinen arvo |
align | Kansilehdelle sijoitettavan tekstin sijoitus | center/left/right (4) |
font | Kansilehdelle sijoitettavan tekstin fontti | kaikki järjestelmässä olevat fontit |
size | Kansilehdelle sijoitettavan tekstin koko | 1…n |
fontstyle | Kansilehdelle sijoitettavan tekstin tyyli | normal/italic/bold/bolditalic |
textposition* | Kansilehdelle sijoitettavan tekstin sijainti | x, y, sivunumero (3) |
covertext -elementti
Mahdollisia attribuutteja ovat:
Attribuutin nimi | Kuvaus | Mahdollinen arvo |
content* | Kansilehdelle sijoitettava teksti | teksti |
font | Kansilehdelle sijoitettavan tekstin fontti | kaikki järjestelmässä olevat fontit |
size | Kansilehdelle sijoitettavan tekstin koko | 1…n |
fontstyle | Kansilehdelle sijoitettavan tekstin tyyli | normal/italic/bold/bolditalic |
Huom.
- polku voidaan määritellän suhteelliseksi käyttäen \$SystemRoot\$ -määritystä tekstin alussa
- vanha tapa, käytä covertextblock-elementtiä
- esim. 200, 300, 1 tai 20%, 50%, 2, eli koordinaatit pikseleinä tai prosenttiarvoina
- kun align on määritelty, se korvaa textposition-attribuutin x-koordinaatin (eli tasaa tekstin joko vasemmalle, keskelle tai oikealle)
headerfooter -elementti
Mahdollisia lapsielementtejä ovat:
Elementin nimi | Kuvaus |
headerfootercell | Ylä/alatunnisteen yhtä solua kuvaava elementti |
Mahdollisia attribuutteja ovat:
Attribuutin nimi | Kuvaus | Mahdollinen arvo | Oletus |
id | Ylä/alatunnisteen id | teksti / DEFAULTHEADER / DEFAULTFOOTER (1) | - |
widths | headerfootercell-solujen suhteelliset leveydet | esim. 2,2,4 | 1 |
padding | Taulukon sisällön etäisyys reunasta | 0…n | 10 |
background-image | Ylä/alatunnisteen taustakuva | polku tiedostoon | none |
headerfootercell -elementti
Mahdollisia attribuutteja ovat:
Attribuutti | Kuvaus | Mahdollinen arvo | Oletus |
border | Solun reunaviiva | 0…15 (2) | 0 |
horizontalalign | Solun sisällön vaakatason sijoitus | left/right/center/justify | left |
verticalalign | Solun sisällön pystytason sijoitus | top/bottom/middle/baseline | bottom |
nowrap | Solun sisällön automaattisen rivityksen esto | true/false | false |
cellpadding | Solun reunan täyte, sisällön etäisyys reunasta | 0…n | 0 |
content | Solun sisältö | teksti | - |
contentalt | Solun sisältö silloin kun content:issa olevaa ehdollista sisältöä esim LINKEDPROJECT.OBJNAME ei ole objektille määritelty | teksti | - |
image | Kuvan näyttäminen solussa | polku/USER.ORGANIZATION.LOGO | - |
scaledwidth | Kuvan skaalattu leveys | 0…n (3) | - |
scaledheight | Kuvan skaalattu korkeus | 0…n (3) | - |
BARCODE | Viivakoodin tyyppi | EAN-8, EAN-13, UPC-A, UPC-E | EAN-13 |
BARCODEPDMATTRIBUTE | Kentän/tietueen nimi, josta viivakoodin numeerinen arvo luetaan | EAN13CODE (tms.), | - |
BARCODEHEIGHT | Viivakoodin korkeus tulosteessa (mm?) | Suurempi kuin 1 (järkevä koko 10 ylöspäin) | 16 |
BARCODETEXTHEIGHT | Viivakoodin yhteyteen tulostuvan tekstin (numeerinen koodi) korkeus (mm) | 0 = ei tekstiä lainkaan (järkevä koko 4 ylöspäin) | 16 |
BARCODEGUARD | Tulostuuko pitkät loppu/alkuviivat | true = | false |
HUOM.
- Jos ylä- tai alatunnisteen id:ksi määrittelee DEFAULTHEADER:n tai DEFAULTFOOTER:n, käytetään kyseistä tunnistetta oletuksena. Jos esimerkiksi parttable-elementille ei ole määritelty headerId-attribuutilla ylätunnistettä, käytetään ylätunnistetta jonka id on DEFAULTHEADER.
- Solun reunaviiva muodostetaan arvojen 1,2,4 ja 8 yhdistelmistä, joissa 1=yläreuna, 2=alareuna, 4=vasen reuna ja 8=oikea reuna. Esim. arvolla 10 asetetaan soluun reunaviiva oikealle ja alas. Arvolla 0 ei reunaviivaa tehdä (oletus)
- attribuutin image yhteydessä käytettävä attribuutti
parttable-elementti
Osaluettelon tulostamiseen käytetty elementti. Tulostaa taulukon, jossa ensimmäinen rivi on otsikkorivi, loput rivit osaluettelon rivejä. Mahdollisia lapsielementtejä ovat:
Elementin nimi | Kuvaus |
headercell | Otsikkorivin solua kuvaava elementti |
parttablecell | Osaluettelorivien soluja kuvaava elementti |
Mahdollisia attribuutteja ovat:
Attribuutin nimi | Kuvaus | Mahdollinen arvo | Oletus |
widths* | Kenttien leveydet pilkulla erotettuna | esim. 2,2,4 | 1 |
keys | Osaluettelon kenttien nimet pilkulla erotettuna | esim. [PNO],[OBJCODE],[DESCR] | null |
labels | Osaluettelon kenttien otsikot pilkulla erotettuna | esim. Nro, Koodi, Kuvaus | null |
headerId | Ylätunnisteen id | headerfooter-elementin id | - |
footerId | Alatunnisteen id | headerfooter-elementin id | - |
bookmarklabel | Teksti, joka tulee pdf:n vasemman reunan kirjanmerkkivalikkoon | teksti | - |
cellpadding | Taulukon kaikkien solujen sisällön etäisyys reunasta | 0…n | 0 |
headerrow_* | Otsikkovin yleisten attribuuttien määrittelyyn | esim. headerrow_backgroundcolor, otsikkorivin taustaväri | - |
recursive | Rekursiivisen osaluettelon tulostukseen käytetty elementti, tulostaa koko osaluettelon yhteen taulukkoon | true/false | false |
tabsize | Alitasojen sisennyksen määrittelevä attribuutti, käytetään rekursiivisessa taulukossa | esim. 5% (taulukon leveydestä) | 5% |
maxrowstopage_landscape | Osaluettelon maksimirivimäärä yhtä sivua kohden(vaaka-arkki) valinnan”Monista kuva jos osaluettelojakautuu usealle sivulle”yhteydessä | 1-n (fonttikoosta riippuen) | 28 |
maxrowstopage_portrait | Osaluettelon maksimirivimäärä yhtä sivua kohden(pysty-arkki) valinnan”Monista kuva jos osaluettelojakautuu usealle sivulle”yhteydessä | 1-n (fonttikoosta riippuen) | 40 |
headercell ja parttablecell -elementit
Osaluettelon otsikkonrivin (headercell) ja sisältörivien (parttablecell) soluja kuvaavat elementit.
Mahdollisia attribuutteja ovat:
Attribuutin nimi | Kuvaus | Mahdollinen arvo | Oletus |
border | Solun reunaviiva | 0…15 (2) | 0 |
horizontalalign | Solun sisällön vaakatason sijoitus | left/right/center/justify | left |
verticalalign | Solun sisällön pystytason sijoitus | top/bottom/middle/baseline | bottom |
nowrap | Solun sisällön automaattisen rivityksen esto | true/false | false |
cellpadding | Solun reunan täyte, sisällön etäisyys reunasta | 0…n | 0 |
content* | Solun sisältö | teksti | - |
alt | Solun sisältö silloin kun content:issa olevaa ehdollista sisältöä esim LINKEDPROJECT.OBJNAME ei ole objektille määritelty | teksti | - |
partimage -elementti
Mahdollisia attribuutteja ovat:
Attribuutin nimi | Kuvaus | Mahdollinen arvo |
bookmarklabel | Teksti, joka tulee vasemman reunan pdf:n kirjanmerkkivalikkoon | teksti |
headerId | Ylätunnisteen id | headerfooter-elementin id |
footerId | Alatunnisteen id | headerfooter-elementin id |
Tekstisisältö
Ohjaustiedostossa voidaan määritellä, mitä tekstiä missäkin näytetään. Tekstisisältö voi olla staattista tekstiä, tai kyseessä olevan objektin attribuutteja. Myös tiettyjä varattuja sanoja voidaan käyttää tiettyissä rajoissa.
Esimerkiksi teksti
[OBJCODE], [DESCR]
Muuttuu pdf:ssä muotoon
Objektin tunnus, objektin kuvaus
Esimerkiksi osaluettelossa tieto haetaan kyseessä olevalta osalta. Osaluettelon ylä/alatunnisteiden kohdalla tieto haetaan aina kyseisen rakenteen äitinimikkeeltä.
Varattuja sanoja:
Varattu sana | Käyttäytyminen |
DATE | Päivämäärän tulostus |
TIME | Ajan tulostus |
DATETIME | Päivämäärän ja ajan tulostus |
USER.* | Käyttäjän tietoja, esim. USER.ORGANIZATION.NAME |
PAGENUMBER | Osaluettelossa käytettävä, ilmaisee kyseisen osan sivunumeron |
Muut elementit
Seuraavassa on lueteltu harvemmin käytettyjä ja erikoisempia elementtejä
statictable, staticrow ja staticcell -elementit
Staattinen taulukko ja sen elementit, joita käytetään tulostamaan ns. html-tyyppinen taulukko pdf-dokumenttiin. Sisältö kirjoitetaan sellaisenaan:
<statictable widths="1,1,1,1" border="0" >
<staticrow>
<staticcell content="Asiakas:" fontstyle="bold" />
<staticcell content="[USER.ORGANIZATION.NAME]" />
<staticcell content="Toimitusosoite:" fontstyle="bold" />
<staticcell content="[USER.ORGANIZATION.STREETADDRESS]\n[USER.ORGANIZATION.CITY]" />
</staticrow>
</statictable>
nestedtable -elementti
Sisäkkäisten ja rekursiivisten taulukoiden tulostukseen käytetty elementti. Esimerkiksi osaluettelon solu voidaan korvata nestedtable-elementillä:
<parttable widths="10,4" recursive="true" tabsize="5%" >
<nestedtable widths="1,10" border="0">
<parttablecell content="[DESCR1_EN]" verticalalign="middle" colspan="2" fontstyle="bold" />
<parttablecell content="" cellpadding="1"/>
<parttablecell content="[DESCRIPTION2_EN]" verticalalign="middle" cellpadding="1" />
<parttablecell content="" cellpadding="1"/>
<parttablecell content="[NOTE]" verticalalign="middle" cellpadding="1" fontstyle="bolditalic" />
</nestedtable>
<parttablecell content="[PREVIEWIMAGE]" scaledwidth="60" scaledheight="100" />
</parttable>
linebreak -elementti
Mahdollistaa rivinvaihdon käytettäessä staattisia taulukoita.
Mahdollisia attribuutteja:
Attribuutin nimi | Kuvaus | Mahdollinen arvo |
count | Rivinvaihtojen lukumäärä | 1…n |
pagebreak -elementti
Mahdollistaa sivunvaihdon käytettäessä staattisia taulukoita.
Mahdollisia attribuutteja:
Attribuutin nimi | Kuvaus | Mahdollinen arvo |
count | Sivunvaihtojen lukumäärä | 1…n |