Package ru.bitel.common
Class FOUtils
java.lang.Object
ru.bitel.common.FOUtils
Всё для работы с FOP находится тут, также внутри статически хранится фабрика
fop, для повторного использования. Здесь же инициализируется конфиг. Здесь
методы для рендера в поток и для предварительных трансформаций (хотя они
к fop не относятся как таковые). Может использоваться в сервере и в клиенте.
Нужно во всём проекте работать с fop только через этот класс.
-
Nested Class Summary
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
рендер в AWT (используется с устанавливаением рендера AWTRenderer)static final String
рендер в PDF (используется с выходным потоком)static final String
рендер в печать (используется с устанавливаением рендера PrintRenderer)static final String
рендер в RTF (используется с выходным потоком) -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic void
configure2DRenderer
(org.apache.fop.render.java2d.Java2DRenderer renderer) static org.apache.fop.render.awt.AWTRenderer
static org.apache.fop.render.print.PrintRenderer
createPrintRenderer
(PrinterJob printerJob, int copies) static org.apache.fop.apps.FOUserAgent
Получение FOUserAgent из factory.static void
render
(Source fo, OutputStream outputStream, String outputFormat) Рендер входного fo в выходной поток в каком-то указанном формате.static void
render
(Source xml, Source xslt, OutputStream outputStream, String outputFormat) Рендер входных xml+xslt в выходной поток в каком-то указанном формате.static void
Рендер входных xml+xslt с перегружаемым рендером.static void
Рендеринг с перегружаемым рендером.static void
static SAXResult
renderSAXResult
(OutputStream outputStream, String outputFormat) Получение SAXResult рендера, указывается стрим и формат.
-
Field Details
-
RENDER_PDF
рендер в PDF (используется с выходным потоком)- See Also:
-
RENDER_RTF
рендер в RTF (используется с выходным потоком)- See Also:
-
RENDER_AWT
рендер в AWT (используется с устанавливаением рендера AWTRenderer)- See Also:
-
RENDER_PRINT
рендер в печать (используется с устанавливаением рендера PrintRenderer)- See Also:
-
-
Constructor Details
-
FOUtils
public FOUtils()
-
-
Method Details
-
newFOUserAgent
public static org.apache.fop.apps.FOUserAgent newFOUserAgent()Получение FOUserAgent из factory. Для настройки его извне, используется в сложных случаях рендера. -
renderSAXResult
public static SAXResult renderSAXResult(OutputStream outputStream, String outputFormat) throws org.apache.fop.apps.FOPException Получение SAXResult рендера, указывается стрим и формат. Используется в том числе в местах, где нужно как-то кастомно трансформировать, например, используя BGBilling-а XSLManager. Пример использования в таком случае:XSLManager.getInstance().transform( xml, xsltName, FOUtils.renderSAXResult( outputStream, outputFormat ) );
Типичное применение: генерация pdf из шаблона который трансформируется в FO-документ.- Parameters:
outputStream
- выходной поток для записиoutputFormat
- формат (mime-константа FOUtils.RENDER_*)- Returns:
- SAXResult, который надо сунуть в трансформер, например.
- Throws:
org.apache.fop.apps.FOPException
- ошибка FOP
-
render
public static void render(Source xml, Source xslt, OutputStream outputStream, String outputFormat) throws org.apache.fop.apps.FOPException, TransformerException Рендер входных xml+xslt в выходной поток в каком-то указанном формате. Если надо из строки, то new StreamSource(new StringReader(xmlstring)) Если из документа, то new DomSource(..)- Parameters:
xml
- исходный документ xml в виде Source.xslt
- шаблон xslt в виде Source.outputStream
- выходной поток для записиoutputFormat
- формат (mime-константа FOUtils.RENDER_*)- Throws:
org.apache.fop.apps.FOPException
- ошибка FOPTransformerException
- ошибка трансформации
-
render
public static void render(Source fo, OutputStream outputStream, String outputFormat) throws org.apache.fop.apps.FOPException, TransformerException Рендер входного fo в выходной поток в каком-то указанном формате.- Parameters:
fo
- исходный документ fo в виде SourceoutputStream
- выходной поток для записиoutputFormat
- формат (mime-константа FOUtils.RENDER_*)- Throws:
org.apache.fop.apps.FOPException
- ошибка FOPTransformerException
- ошибка трансформации- See Also:
-
render
public static void render(Source xml, Source xslt, org.apache.fop.render.Renderer renderer, String outputFormat) throws org.apache.fop.apps.FOPException, TransformerException Рендер входных xml+xslt с перегружаемым рендером.- Throws:
org.apache.fop.apps.FOPException
TransformerException
- See Also:
-
render
public static void render(Source fo, org.apache.fop.render.Renderer renderer, String outputFormat) throws org.apache.fop.apps.FOPException, TransformerException Рендеринг с перегружаемым рендером. Задаётся вместо выходного потока нужный рендер. Рендер должен быть заранее созданным, также ему должен соответствовать нужный outputFormat, за этим надо проследить. Здесь в создаваемый объект FOP перегружается юзер агент, где оверрайдится рендер, больше с рендером ничего не делается, т.е. всё в рендере надо настроить до его передачи сюда. Например, для AWTRenderer до вызова этого метода должно быть установлено при желании renderer.setPreviewDialogDisplayed(false)- Parameters:
fo
-renderer
-outputFormat
-- Throws:
org.apache.fop.apps.FOPException
TransformerException
-
render
public static void render(Node fo, org.apache.fop.render.Renderer renderer, String outputFormat) throws org.apache.fop.apps.FOPException, TransformerException - Throws:
org.apache.fop.apps.FOPException
TransformerException
-
createAWTRenderer
public static org.apache.fop.render.awt.AWTRenderer createAWTRenderer() -
createPrintRenderer
public static org.apache.fop.render.print.PrintRenderer createPrintRenderer(PrinterJob printerJob, int copies) -
configure2DRenderer
public static void configure2DRenderer(org.apache.fop.render.java2d.Java2DRenderer renderer)
-