PDF from DocBook with tables

"Nascif A. Abousalh Neto" <[email protected]> Thu, 13 Jun 2002 17:10:16 -0400
Newsgroups gmane.emacs.xae
Organization Nortel Networks
Message-ID <54HFHFXUA6SRQID4151862XUOYIE94.3d090a38@8ibwxcpxh>
Hi,

I have been trying for days now to generate PDF from a DocBook article containing tables. I got something (still not perfect, but at least not broken) to work using the instructions posted here.
http://spazioinwind.iol.it/turbamentomentale/opensource-tr/docbook-xml-table/index.html

I tried to integrate the process in the current XAE but in order to do that I had to make a small change in xae.el to add saxon-jdom.jar and saxon65.jar (required for the table processing) to the 
classpath.
The modified function is listed below.

How is your success in generating PDF out of DocBook with tables and other non trivial elements? I now have the tables almost working and itemized lists working as well, but notes (with a graphical item on 
the side) are still badly broken.

I tried Apache FOP but it seems to work only for the most trivial cases. Had a hard time playing with DSSSL, and cygwin tex. The best combo I got so far is Saxon + TexLive PassiveTex (a great source of 
information for Tex on Windows is http://ourworld.compuserve.com/homepages/hoenicka_markus/book1.html), but it is still far from being satisfactory.

I really would like to be able to generate PDF from DocBook. HTML is nice, but for corporate documents (my intention) not sufficient.

What is your experience? Does anybody has a working DocBook -> PDF setup in Windows to share?

Regards,
	Nascif

(defmethod xae-start ((this xae-xml-tool-server) &optional display-buffer-p)
  "Start the XML tool server."
  (if (not (comint-check-proc (oref this :buffer-name)))
    (let* ((xae-java-directory
	    (concat
	     (xae-find-xae-data-directory)
	     "java/"))
	   (vm (if (eq system-type 'windows-nt)
		   "javaw"
		 "java"))
	   (user-classpath (getenv "CLASSPATH"))
	   (vm-args
	    (list
	     "-classpath"
	     (concat
	      (if user-classpath
		  (concat user-classpath path-separator))
	      (expand-file-name "lib/xae.jar" xae-java-directory)
	      path-separator

;; BEGIN added to support table processing

	      (expand-file-name "xsl-engines/saxon/saxon.jar" 
                          (xae-find-xae-data-directory))
	      path-separator
	      (expand-file-name "xsl-engines/saxon/saxon-jdom.jar" 
                          (xae-find-xae-data-directory))
	      path-separator
	      (expand-file-name "doctypes/docbook/styles/docbook/extensions/saxon65.jar"
                          (xae-find-xae-data-directory)))))

;; END added to support table processing

	   (windowed-process-io t)
	   win32-start-process-show-window)

      (setq vm-args (append vm-args (list "xae.XMLToolServer")))

      (oset this buffer (get-buffer-create (oref this buffer-name)))

      (save-excursion
	(set-buffer (oref this buffer))
	(erase-buffer)
	(comint-mode)
	(make-local-hook 'comint-output-filter-functions)
	(add-hook 'comint-output-filter-functions 'comint-strip-ctrl-m nil t)
	(setq comint-scroll-to-bottom-on-output t)
	(setq comint-prompt-regexp "^> *"))
      (message "%s" "Starting the XML Tool Server. Please wait...")
      (comint-exec (oref this buffer) (oref this buffer-name)
		       vm nil vm-args)

      (oset this process (get-buffer-process (oref this buffer)))     
      (process-kill-without-query (oref this process))
      (oset this comint-filter (process-filter (oref this process)))
      (set-process-filter (oref this process)
 			  (oref this output-filter))
      (accept-process-output (oref this process) 10 0)
      (if display-buffer-p
	  (pop-to-buffer (oref this buffer-name))))
    (when display-buffer-p
      (message "The XML Tool Server is already running.")
      (pop-to-buffer (oref this buffer-name)))))




_______________________________________________
XAE mailing list
[email protected]
http://sunsite.dk/mailman/listinfo/xae