FOray Users
Module Users

FOray: Other Features


PDF Named Destinations

Named destinations are created for the first area generated by any FO with an "id" property. Note that one effect of this behavior is that the output documents may grow in size. If you do not want that to happen, remove excess "id" attributes from the input document.

PDF Encryption

The PDF format supports options to encrypt PDF files so that unauthorized use of the file can be restricted. FOray does not natively support PDF encryption, but is compiled with support for third-party packages that do.

Applications exist which can decrypt an encrypted PDF file.

PDF encryption in FOray is enabled and configured through the use of the following configuration options: pdf-owner-password, pdf-user-password, pdf-user-print, pdf-user-modify, pdf-user-copy, pdf-user-annotate.

FOray is compiled with cryptography support through Java JCE. However, to be effective, a third-party RC4 cryptography package must be available at run time. To our knowledge, most JVMs do not include such a package. If you try to use PDF encryption, and receive a message saying "Cannot find any provider supporting RC4", then the required capability is missing. There are several commercial and a few Open Source packages which provide RC4:

  • A pure Java implementation is produced by The Legion of the Bouncy Castle.
    1. Download the binary distribution for your JDK version.
    2. Unpack the distribution.
    3. Add the jar file to your classpath. This is done automatically if the jar file is placed in the FOray lib directory.
    4. Open the file and add
      preferably at the end of the block defining the other crypto providers, as described on Sun's web site.
  • Mozilla JSS is an interface to a native implementation.

If you have any experience with Mozilla JSS or any other cryptography provider, please post an entry in the FOray user forum.


FOray currently includes hyphenation support for the following languages (listed alphabetically by language code):

  • English (en)
  • Spanish (es)
  • Finnish (fi)
  • Hungarian (hu)
  • Italian (it)
  • Polish (pl)
  • Portuguese (pt)
  • Russian (ru)

The main impediment to shipping additional patterns is obtaining a license that is compatible with FOray's Apache 2.0 license. FOray's license is intended to allow users unrestricted use, while many hyphenation patterns come with various encumbrances.

Hyphenation patterns for some additional languages can be obtained from Objects For Formatting Objects (OFFO), which maintains a repository of such patterns. It it your responsibility to review the licensing terms documented there to determine whether such patterns are suitable for your own needs.