Frequently Asked Questions
Can you recommend a good book on XSL-FO?
We recommend this book XSL Formatting Objects Developer's Handbook by Doug Lovell
Do in need to include my Developer License whan I install my application into production?
No. Your license file contains a runtime key which should be used when deploying applications.
Refer to Ibex Runtime Keys for more information.
In XSL-FO how so I repeat a table bottom border on every page when the table is split?
By default a table bottom border appears once at the end of the table and does not appear at the bottom of the first page when the table is split across two pages. To retain the bottom border set border-after-width.conditionality="retain" on the fo:table element. To retain the top border set border-before-width.conditionality="retain" on the fo:table element.
How do I use fonts which are not installed by the end user
See Using fonts which are not installed
Why does border-bottom-width.conditionality="retain" not work?
The properties border-bottom-width and border-after-width are not the same. Both can be used for setting the border width but only border-after-width supports the .conditionality property.
Is Windows versions 7 to 11 supported?
Yes. Any platform running the full (i.e. not Compact) .NET Framework 4.8 or .Net 6.0 or greater is supported.
Is Linux supported ?
Yes. Any Linux system runnng .Net 6.0 or greater is supported.
Do you have any programs which convert a PDF file to XML?
We don't have any programs for converting from PDF to XML. The problem is that a PDF is a very low level page description which tells the reader to place some text here or draw a line here, it has no concept of paragraphs, tables, borders or any of the things defined in XML. Its just a collection of x y coordinates and strings or line segments. Adobe supply a plugin for Adobe Acrobat 5 which will save a PDF file as XML, its just basically a dump of the string contents and positioning, you might be able to use XSLT on the results. There is a link at the bottom of the page http://www.adobe.com/products/acrobat/update.html
Do you have any programs which merge data into an existing PDF file?
We don't have any programs for converting from PDF to XML. The problem is that a PDF is a very low level page description which tells the reader to place some text here or draw a line here, it has no concept of paragraphs, tables, borders or any of the things defined in XML. Its just a collection of x y coordinates and strings or line segments. As there is no way of determining that what a table is, it is impossible to effectively split a table over two pages if more data is added than would fit on one page.
If you don't take up your annual maintenance for a period of time, can you rejoin at a later date. Is there any rejoin (or additional) fee as well as the annual fee for maintenance in this situation?
You can rejoin at a later time. No there is no additional fee
What does this message mean: warning: No glyph index found for character code 25B6?
The issue here is that the particular character you want to use is not contained in the font file you are using.
Does Ibex perform internal downsampling of images?
PDF internally stores images as JPEG files or bitmaps.
If the input file is in JPEG format by default no downsampling is done. If it is in another format such as PNG it is converted to a JPEG to reduce size, at JPEG quality 75%.
PDF generated by Ibex is not specifically optimized for screen or print. Using the dpi attribute you can control the resolution of images on a per-image basis. By default we use the dpi value from the image, so the image is not changed unless the dpi attribute is used (on the fo:external-graphic element, see the Ibex manual).
We have customers who generate PDF files at 96dpi for viewing on screen then regenerate them at 1200 or 2400dpi for high quality printing. Of course 2400dpi images result in very large PDF files and display very slowly in Acrobat reader.
How do I open a PDF file in a frame?
There is an example of how to do this on the Adobe site http://acroeng.adobe.com/BrowserTestSuite/frameset/frame_main.html
What causes a "Thread was being aborted" exception in ASP.NET.
This exception is not caused by Ibex. It can sometimes be caused by incorrect programming of an ASP.NET page. An example of incorrect code is:
try {
....
// setup PDF creation
Response.BinaryWrite(pdfStream.ToArray());
Response.End();
}
catch(Exception ex) {
Response.Write(ex.Message);
}
The problem here is that calling Response.End terminates the current thread. Any code which occurs after this will not be executed, and will cause a "Thread was being aborted" exception. This includes the "catch" statement, which is code following the Response.End and so causes the exception. The solution is to move the Response.End() call to the very end of the page, like this:
try {
....
// setup PDF creation
Response.BinaryWrite(pdfStream.ToArray());
}
catch(Exception ex) {
Response.Write(ex.Message);
}
Response.End();