powered by simpleCommunicator - 2.0.29     © 2024 Programmizd 02
Map
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Acrobat .pdf
4 сообщений из 4, страница 1 из 1
Acrobat .pdf
    #32904050
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
делаю отчёты через XSLT преобразование. Столкнулся с проблемой - хотелось бы получать документы в .pdf, формат достаточно простой и распространённый. Но не могу найти описание работы с кириллицей, та документация которая на адобовом сайте ничего про это не говорит или как-то неинформативно.

Можно где описание найти? Или пример какой? Типа "Хело ворльд" вместо "Hello world"?
...
Рейтинг: 0 / 0
Acrobat .pdf
    #32904089
Victor Repetsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Когда-то использовал FOP, для него описание работы со шрифтами для корректной кирилицы:
http://www.openmechanics.net/rusfop/howto.html
...
Рейтинг: 0 / 0
Acrobat .pdf
    #32904443
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да мне б пример просто с одним словом на рус. языке. Дальше я как-нить сам.
...
Рейтинг: 0 / 0
Acrobat .pdf
    #32904633
Victor Repetsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот код для трансформации
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;

import javax.xml.transform.Result;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.sax.SAXResult;
import javax.xml.transform.stream.StreamSource;

import org.apache.fop.apps.Driver;
import org.apache.fop.apps.Options;

public class Test {

	public static void main(String[] args) throws Exception  {
		Driver driver = new Driver();
//		Setup logging here: driver.setLogger(...
		driver.setRenderer(Driver.RENDER_PDF);

		Options options = new Options(new File("userconfig.xml"));
		
//		Setup the OutputStream for FOP
		driver.setOutputStream(new java.io.FileOutputStream("test.pdf"));

//		Make sure the XSL transformation's result is piped through to FOP
		Result res = new SAXResult(driver.getContentHandler());

//		Setup XML input
		Source src = new StreamSource(
				new InputStreamReader(new FileInputStream("test.xml"),"UTF8"));

//		Setup Transformer
		Source xsltSrc = new StreamSource("test.xsl");
		TransformerFactory transformerFactory = TransformerFactory.newInstance();
		Transformer transformer = transformerFactory.newTransformer(xsltSrc);

//		Start the transformation and rendering process
		transformer.transform(src, res);
	}
}
В файле test.xml - русские буквы в UTF8, в test.xsl - нужное xsl-fo (простые примеры можно найти в поставке FOP ).
Файл userconfig.xml берем из той же поставки FOP и такое добавляем для шрифтов
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
<fonts>
 <font metrics-file="arial.xml" kerning="yes" embed-file="arial.ttf">
    <font-triplet name="Arial" style="normal" weight="normal"/>
    <font-triplet name="ArialMT" style="normal" weight="normal"/>
 </font>
 <font metrics-file="arialbd.xml" kerning="yes" embed-file="arialbd.ttf">
    <font-triplet name="Arial" style="normal" weight="bold"/>
    <font-triplet name="ArialMT" style="normal" weight="bold"/>
 </font>
 <font metrics-file="ariali.xml" kerning="yes" embed-file="ariali.ttf">
    <font-triplet name="Arial" style="italic" weight="normal"/>
    <font-triplet name="ArialMT" style="italic" weight="normal"/>
 </font>
 <font metrics-file="arialbi.xml" kerning="yes" embed-file="arialbi.ttf">
    <font-triplet name="Arial" style="italic" weight="bold"/>
    <font-triplet name="ArialMT" style="italic" weight="bold"/>
 </font>
 </fonts>

При этом ari*.ttf берем из винды, ari*xml - с того сайта и ложим рядом с конфигом.
Так должно работать.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Acrobat .pdf
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]