[xep-support] Requests for version 4.17

Kevin Brown kevin at renderx.com
Mon Jun 29 08:15:13 PDT 2009


Daniel:

 

Why not use "rx:table-omit-initial-header"?

 

You create a table with this extension and inside the <table> element. This
<table> has a <table-header> with the state name and "-Continued" on it. The
first row of the table has the state name without the "-Continued". 

 

http://www.renderx.com/reference.html#Omitted_Header

http://xep.xattic.com/xep/testsuite/usecases/table-header.fo

http://xep.xattic.com/xep/testsuite/usecases/table-header.pdf

 

As for the second item, there is a rhyme and reason, it's just not what you
think it is. Pinpoints always give the vertical information, but do not give
the horizontal unless they are constrained not to float to the left (like
they exist in an absolute positioned block). I recently posted a message on
"PDF Redaction Strategy" that gave you a key trick for intermediate format.
If you want an exact "X","Y" then insert the following structure in XEPOUT:

 

<fo:inline font-family="Courier" font-size="0pt">Blahblahblah</fo:inline>

 

You will find in the XEPOUT:

 

<xep:font family="Courier" weight="400" style="normal" variant="normal"

size="0"/>

<xep:text value="blahblahblah" x="267072" y="637734" width="0"/>

 

The <xep:text> element has the exact X,Y you desire. If you place this
structure immediately before or after your <xep:text> string in your
example, you will get exact location information. Just be careful to strip
out such a structure (the <xep:font> switch to Courier and the marker
<xep:text> element. 

 

Another technique in your case would be that you are placing the text in a
table cell I am sure. Why not change the color of cell to something you can
find in the XEPOUT.  This would create a structure like:

 

<xep:rgb-color red="#.#" green="#.#" blue="#.#"/>

<xep:rectangle x-from="209040" y-from="635250" x-till="270408"
y-till="646350"/>

 

The <xep:rectangle> carried the exact points for the table cell and again,
you can remove these elements to remove the color from it when you are
finished (or set back to correct color if it is already colored).

 

I have not examined our soon-to-be-released PDF Forms backend, but I would
suspect that that extension would also carry exacting information as it
allows placement of form-field inline.

 

Kevin

 

 

From: owner-xep-support at renderx.com [mailto:owner-xep-support at renderx.com]
On Behalf Of daniel.r.boughton at rrd.com
Sent: Monday, June 29, 2009 7:00 AM
To: xep-support at renderx.com
Subject: Re: [xep-support] Requests for version 4.17

 


My personal pick for version 4.17 would be table markers.  We currently
generate reports that are grouped, and our customers require that we add the
word "(continued)" to the group heading when it spans more that one page.
For example we may have a report that is grouped by state.  The column
headings are displayed by an outer table, and each state is a separate table
embedded within the first table.  The column heading for the embedded table
is the state name which spans all columns.  If the data for Alabama spanned
more that one page, the heading on the first page would be "Alabama" and
"Alabama (continued)" on all subsequent pages.   

We are currently handling adding the "continued" using rx:pinpoint and xslt
that gets run on the XEP intermediate format.  Although this solution works,
it is not pretty.  There are instances where I have to change font
characteristics (family, size, weight, color...) and then make sure to
change them back before moving on.  And the way that rx:pinpoint works is
confusing.  There seems to be no rhyme or reason to the values that are
assigned to x and y.  It would be really nice if the values of x and y were
related to the <xep:text> elements that reside in the same fo:block as the
rx;pinpoint. 

In this case it would be helpful if x and y matched the x and y values of
the first xep:text element that follows the xep:pinpoint. 
<fo:block> 
        <rx:pinpoint value="{text()}"/> 
        <xsl:value-of select="text()"/> 
</fo:block> 

In this case it would be helpful if x and y pointed to the end of the
previous xep:text element  (x + width).  This would be the position at which
you could start appending new text. 
<fo:block> 
        <xsl:value-of select="text()"/> 
        <rx:pinpoint value="{text()}"/> 
</fo:block> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.renderx.com/pipermail/xep-support/attachments/20090629/8f837695/attachment.html>


More information about the Xep-support mailing list