Anything better than XSL-FO? - printing

I'm looking at technologies for print rendering, and I know there's lots of old print engines around, but I'd like something that is flexible and also gives some sort of standard (which means that rendering gives us options).
XSL-FO seems to stick out like a sore thumb as the technology we should be using, but if there's other options that fit the bill, I'd be interested to hear about them.
Thanks.

The best XSL-FO engine is Antenna House XSL Formatter. RenderX XEP is also pretty good, Apache FOP is pretty average but you can make it work for simple things.
There is no other "standard" for getting XML into PDF. For SGML there used to be DSSSL. I think some people have also implemented XML->TeX conversion and then use a TeX typesetter. The other (commercial) options off the top of my head are:
PrinceXML (XML+CSS)
PTC Arbortext (FOSI, XSL-FO and APP/3B2)
TurnKey TopLeaf (proprietary)
SDL XySoft XPP (proprietary)
Typefi (basd on InDesign Server)
I guess if your print publishing is simple enough you could use something like iText to build the PDF using a Java class or something.

Related

Printing from web pages (reports especially) with greater precision

I am re-engineering a windows application to be ported to web. One area that has been worrying is 'printing'.
The application is data intensive and complex reports need to be generated. The erstwhile windows application takes advantage of printer APIs and extends sophisticated control to the users. It supports functions like page break, avoiding printing on printed parts of the sheet (like letterhead), choice of layouts and orientation, etc. Please note that these setting are not done only while printing, they are part of report definition sometimes.
From what I know, we cannot have this kind of control while printing web pages. I am in a process of identifying options at my disposal. While I prefer to first look into something that will help me print from raw web pages, following are other thoughts:
Since reports can also be exported to .xls & .pdf versions, let user download one and print directly. This however limits my solution to the area of application that have export feature.
Use Silverlight (4.0) for report layout definition and print. I think Silverlight 4.0 (in beta right now) provides adequate control over the printer. I have so far been avoiding the need of any RIA plugin.
Meticulously generate reports on web with fixed dimensions. I am not sure how far this will go.
Please share practices that can be applied easily in my scenario.
For reporting in the past on the web, using .NET, I like to generate PDF, Excel, Word or CSV files. I really like iTextSharp which allows for creating of PDF's.
Word can accept HTML, so that is usually quote easy. For more control you can get into the Word interops http://nishantrana.wordpress.com/2007/11/03/creating-word-document-using-c/, but they left me frustrated. Not for implementation, but I felt the clean up was poor.
CSV are great for raw data dumps and that is it.
For HTML, you can get nice control using a style sheet targeted to print media. There are just certain things you cannot control, like browser header and footer.
Flash also has better print controls than plain HTML, though you might not know it since these features are rarely used by flash developers. Almost everyone should have Flash installed these days, so it's not like Silverlight where there's a good chance of someone needing to install a plugin (doubly so for a beta version). I am not sure how the Flash printer APIs compare to Silverlight's printer APIs and if they give you the level of control you need, but their documentation is public so you can look into it.
Also I think exporting to PDF is a good idea. I don't see why you can't extend this to cover all places that would need to print a report. Basically instead of printing directly from the windows app running on their desktop, the same exact code runs on your server and generates a PDF that they can then print themselves.
I don't think you're going to have much luck trying to do it with raw HTML unfortunately. For one of our clients, we went with the "generate PDF" route and it worked out quite well. PDFs have the additional advantage that you don't have to print them out: you can just email them to the boss/accountant/whatever saving a bit of paper.
PDF is the way to go, if you want absolute control over printed output. As bonus, you can also provide the option to download PDFs in your application.
With HTML, you are at the mercy of user's browser settings for page size, margin and how page breaks will be handled.

How to generate a document like this in Latex

http://www.cs.umass.edu/~mccallum/papers/acm-queue-ie.pdf
I want to write a document that has the style like this one.
Like having a light colored background on a page, having a big header (like the EXTRACTION) shown in this link. Do you think it is possible to something like this in Latex?
I am comfortable with doing normal things in latex.
If you download and look at the document properties, it was made with InDesign CS3. Could you do this in LaTeX? Yes. The cover page is... just a cover page. If you use fancyhdr and make a page header, you can increase the header height, then lay the page header in there as an image. Try eso-pic for page backgrounds. But in all honesty, that document is kind of ugly. :D
Your best bet for a document like this is to use a desktop publishing system. A Free/Open Source Software solution would be Scribus Desktop Publishing.
Off the top of my head:
-- check out ConTeXt, strictly speaking an alternative to LaTeX but one designed for something closer to DTP than LaTeX itself;
-- LaTeX has lots of facilities for DTP-like work, a good place to start would be the newsletter on link text
-- investigate packages such as PGF/TKZ, eso-pic, newspaper.
That document smell like made with InDesign or QuarkXPress ... I guess there is a way to do it in latex but will not be straightforward at all ...
Actually it's quite feasible using LaTeX, it's just a pity that the learning curve and the technical involvement are higher than when using DTP tools like Adobe InDesign.
This explains why few people are willing to involve the required amount of time and energy into mastering LaTeX for such kind of projects, and consequently why few introductory material is available on the subject.
One notable exception is the recent workshop given by Dominik Wagenführ at Ubucon 2009 in Göttingen. Its proceedings are freely available a the bottom of the page, as well as the related source code. It's all in German but fairly easy to understand and very educational, so I'd recommand you to study it.

Does anyone know resources for LaTex

I want to use LaTex to write equations faster and if it is possible to export the result as a png or jpg so that it can be used on a website.
Wikipedia (and its opensource wiki engine) uses LaTeX for that, maybe there are some resources available (at least in the code, as it is opensource).
Your question is very broad. You could start with Amazon's List of Latex Books.
You might want to investigate the StackExchange site mathoverflow.net solution - you can read about here. It uses jsMath which supports a lot of LaTeX syntax.
Assuming you already know a little LateX and your primary goal is to get images, a good high-level tool is mathTeX; there are even public servers that will convert to images for you.
If you want to do everything yourself, all the tools use dvipng at bottom.
I like both MathBin.net and Roger's Online Equation Editor. The latter lets you control the quality of the output. See also this question.
try this: http://hausheer.osola.com/latex2png
Here is a small symbol reference for LaTeX. If you are looking for something more as a general introduction, you can look at "The Not So Short Introduction To LaTeX2e". If you use Inkscape, there is built in support for rendering LaTeX and there are also extensions that do the same. You can read some commentary about it here. There are also things like LaTeX to HTML converters; However, at the time I was looking at them, they were somewhat limited in what formulas they could display.
I taught myself LaTeX using the wikibook. It's fairly comprehensive as an initial guide. I've since bought The LaTeX Companion, which is a more advanced guide to in depth typesetting in LaTeX
I use http://www.artofproblemsolving.com/LaTeX/AoPS_L_TeXer.php when I need a quick equation for a web site.
There are packages that will automatically produce images from LaTeX source, but these are often either buggy or used incorrectly. Many people install them on their blogs, for example, and the images show up if you visit the blog directly but they don't show up if you view the page via a blog reader. I'm not saying these problems can't be fixed. They can, but it often takes a few tries.
I prefer just to make a gif and stick it in the page. It's low tech and reliable.
One more tip: it's a good idea to put the LaTeX source in the alt tag of the image. This helps people using screen readers. It helps you too if you need to modify the equation later.
Detextify is a great site that lets you draw a symbol, and it will pop up a list of latex commands that may match your drawing. It's quite accurate! http://detexify.kirelabs.org/classify.html

LaTeX equations in Ruby on Rails

How can I render LaTeX stuff like
\frac{1}{2}
in a Ruby on Rails application? I mean to get an image?
Thanks!
You could always try http://www.mathjax.org/, leaving the rendering to the client!
To render LaTeX for the web, it looks to me like mathTeX is the application of choice. There are many other options, all of which seem to build on dvipng as a foundation. MathTeX appears to be the most polished and capable, and it is easy to configure as a CGI service, so your Rails application can generated ordinary HTML <img> tags with rather complex src attributes.
EDIT: Having installed mathTeX, I can say that the code is inflexible, that it violates the Linux Filesystem Hierarchy standard, and that it is amateur work—in both the good and bad senses of that word. The code is so complex that there are no obvious faults. I will be looking for alternatives.
By invoking an external program that does the processing for you, such as tex2png or tex2png.pl.
Then again, for simple formulas like that, you may also wish to consider using jsmath. The next step then would be to let your users choose which version they want to see …
Katex
Take a look at Katex. It's from a couple of people behind Khan Academy and it looks extremely legit.
This uses Javascript to generate a nice HTML view of the formulas so I'm still working out the best method to turn this into an image conveniently, though.
The katex gem can render these server-side so you don't even need any JavaScript, and it's smaller and better quality than an image.
There is also mathematical gem that converts TeX math to SVGs, PNGs, or MathML.

Delphi printing primer

I need to add printing capabilities to an app and I have been looking around for information about printing. Logical/physical sizes, dpi, font scaling, etc, lots to digest since I never programmed printing into any app before.
Are there any sites that would offer a primer on the topics of page sizes, margins and all the other elements required to understand printing on Windows? I've been looking around for a while but what I find is either cryptic or years old...
I've been playing around with TPrinter, but I would like to build solid printing functionalities and understand what I'm doing better.
Using a report solution is not an option, even though I'm sure it would provide better results much sooner.
Two links to get you started:
Printing with TPrinter
Printing via the TPrinter Canvas
I think that you are looking too lowlevel.
Try looking at the build reporting tools (Rave or whatever is in your product).
Personally i am using a product called Report Builder from Digital Metaphors.
But if you want to do the lowlevel stuff lot og good information can be found at efg's computer lab - printing
Well, I have done things a variety of ways in the past, including the "hard way" with TPrinter. In fact, I recently had to do that again to run a special inventory label printer.
On the other hand, sometimes you are better off taking work others have done and using it for your benefit. I agree that ReportSmith isn't so great, and also it's Delphi (and Windows) specific. Using Excel or Word has those limitations, plus the fact that the user has to actually have them installed.
One thing I have done to make printing easy for some simple applications is just to generate an HTML file and call the user's web browser, then they can print it. HTML tables can be created relatively easily for numerical data, and you can include photos, etc. as well. This works well for some applications, and works on every platform where a web browser is installed. The downside, of course, is that HTML isn't the most precise layout language.
The version of Delphi you´re using is important. A number of Delphis came with print engines like ReportSmith (ugh). Another option thinking laterally is to use MS Word as a print engine. I´ve hooked into instances of Word & Excel before & utilised their functionality. As to raw printing using TPrinter or the print method of TForm you´d have to be pretty desperate. I seem to recall the Pacheo / Texeira Delphi books coming with a pretty good overview so you might want to see if you can find a copy of that somewhere.

Resources