Toon posts:

[XSLFO] Breedte kolommen in een tabel

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik wil het volgende voor elkaar krijgen:

aap _______________________
konijn _____________________

Lijkt me niet zo moeilijk, maar ik kom er echt niet uit. Wie weet een oplossing?

Ik heb nu de volgende code:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
?xml version="1.0" encoding="ISO-8859-1"?>
<fo:root xmlns:fo ="http://www.w3.org/1999/XSL/Format">

    <fo:layout-master-set>
                <fo:simple-page-master master-name="A4" page-width="210mm" page-height="297mm"
                    margin-top="14mm" margin-bottom="5mm" margin-left="15mm" margin-right="15mm">
                    <fo:region-body margin-top="0mm" margin-right="0cm" margin-left="0mm"
                        margin-bottom="0cm"/>
                    <fo:region-before extent="0cm"/>
                    <fo:region-after extent="0cm"/>
                    <fo:region-start extent="0cm"/>
                    <fo:region-end/>
        </fo:simple-page-master>
    </fo:layout-master-set>

    <fo:page-sequence master-reference="A4">
        <fo:flow flow-name="xsl-region-body">
            <fo:block font-family="Helvetica" font-size="12pt" font-weight="normal">

                <fo:table> 
                    <fo:table-column column-width="6mm"/>
                    <fo:table-column column-width="94mm"/>

                    <fo:table-body>
                        <fo:table-row>
                            <fo:table-cell>
                                <fo:block>
                                    aap
                                </fo:block>
                            </fo:table-cell>
                            <fo:table-cell>
                                <fo:block border-bottom-color="black" border-bottom-style="solid">
                                     
                                </fo:block>
                            </fo:table-cell>
                        </fo:table-row>
                    </fo:table-body>
                </fo:table>

                <fo:table> 
                    <fo:table-column column-width="12mm"/>
                    <fo:table-column column-width="88mm"/>

                    <fo:table-body>
                        <fo:table-row>
                            <fo:table-cell>
                                <fo:block>
                                    konijn
                                </fo:block>
                            </fo:table-cell>
                            <fo:table-cell>
                                <fo:block border-bottom-color="black" border-bottom-style="solid">
                                     
                                </fo:block>
                            </fo:table-cell>
                        </fo:table-row>
                    </fo:table-body>
                </fo:table>



            </fo:block>
        </fo:flow>
    </fo:page-sequence>
</fo:root>


Dit levert zoiets op:
aap___________
konijn _________

Het probleem is dus dat de ruimte tussen het einde van de woorden en het begin van de streep niet gelijk is... die ruimte is natuurlijk afhankelijk van de column-width, maar die is niet goed te bepalen, omdat niet bekend is hoe breed een woord precies is (in mm).

[ Voor 7% gewijzigd door Verwijderd op 16-11-2006 21:23 . Reden: Uitbreiding ]


  • CubicQ
  • Registratie: September 1999
  • Laatst online: 17:49
Verwijderd schreef op donderdag 16 november 2006 @ 21:19:
Ik wil het volgende voor elkaar krijgen:

aap _______________________
konijn _____________________

Lijkt me niet zo moeilijk
Je zou nu naar 2 maanden en 16 dagen toch moeten weten dat het doen van aannames terwijl je met XSLT bezig bent fataal is :+
, maar ik kom er echt niet uit. Wie weet een oplossing?

Ik heb nu de volgende code:

[..]

Dit levert zoiets op:
aap___________
konijn _________

Het probleem is dus dat de ruimte tussen het einde van de woorden en het begin van de streep niet gelijk is... die ruimte is natuurlijk afhankelijk van de column-width, maar die is niet goed te bepalen, omdat niet bekend is hoe breed een woord precies is (in mm).
Maar misschien is het een idee om te kijken of dit functioneel wel echt nodig is. Het schiet niet zo heel erg op wanneer je met dit soort problemen erg veel tijd kwijt bent terwijl de klant die lijntjes alleen maar bedacht heeft omdat ze die lijntjes in hun vorige versie waar de personen die het formulier handmatig invulden op konden schrijven. Is het niet mogelijk om het lijntje compleet te vergeten, of compleet door te trekken? Ik zou iig morgen even met je TL overleggen of dit misschien iets is om A./D. voor te leggen.

Technisch gezien kan ik je vrees ik niet helpen... Maar ik zou zelf niet direct aan tables gaan denken. Is er niet iets mogelijk mbv justify en underscores (maar dan heb je waarschijnlijk weer het probleem dat het lastig wordt om het aantal underscores te bepalen)? Of 'genoeg' underscores achter de tekst plakken en dan een wit vlak in je region-after eroverheen plakken (om het probleem dat FOP 0.20.5 overflow="hidden" niet implementeert)?

[ Voor 33% gewijzigd door CubicQ op 17-11-2006 00:50 ]


  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
Of een ander font gebruiken ( courier bijvoorbeeld ), een font wat altijd dezelfde grootte per letter geeft. ( hoe heet dit toch )

Of afzonderlijk de letters opmeten en hier rekening mee gaan houden, jouw probleem is heel erg simpel gezegd dat een i smaller is dan een m bij de meeste fonts.
Vb :
iiiii
mmmmm

Verwijderd

( hoe heet dit toch )
Niet-proportioneel, fixed of fixed width.
Overigens vind ik dan Lucida Console er wel een stuk strakker/moderner uitzien als Courier New...

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op vrijdag 17 november 2006 @ 18:51:
[...]
Niet-proportioneel, fixed of fixed width.
Overigens vind ik dan Lucida Console er wel een stuk strakker/moderner uitzien als Courier New...
monospaced :Y)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Topicstarter
Je zou nu naar 2 maanden en 16 dagen toch moeten weten dat het doen van aannames terwijl je met XSLT bezig bent fataal is :+
Hee David, dat is ook grappig... inmiddels is de 'oplossing' gevonden in het ongeveer gokken van de grootte van de table-column. Maar ik was gewoon benieuwd of het niet beter kon.
Pagina: 1