Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Генерация docx отчётов OpenSagres (проблема с includ'ом) / 2 сообщений из 2, страница 1 из 1
11.05.2013, 14:09:24
    #38253618
avp.mk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Генерация docx отчётов OpenSagres (проблема с includ'ом)
Не встраивает.. :(


Код: java
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.
package testtemplating;

import fr.opensagres.xdocreport.core.XDocReportException;
import fr.opensagres.xdocreport.document.IXDocReport;
import fr.opensagres.xdocreport.document.registry.XDocReportRegistry;
import fr.opensagres.xdocreport.template.IContext;
import fr.opensagres.xdocreport.template.TemplateEngineKind;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class TestTemplating {

    private static final String //
            ROOT       = "C:\\Documents and Settings\\User\\Рабочий стол\\",
            FILE_IN    = ROOT + "test.docx",
            FILE_INSUB = ROOT + "sub.docx",
            FILE_OUT   = ROOT + "out.docx";

    public static void main(String[] args) throws IOException, XDocReportException {
        XDocReportRegistry registry = XDocReportRegistry.getRegistry();

        IXDocReport reportSub = registry.loadReport(
                new FileInputStream(FILE_INSUB),
                "sub",
                TemplateEngineKind.Freemarker);
        
        IXDocReport reportMain = registry.loadReport(
                new FileInputStream(FILE_IN),
                TemplateEngineKind.Freemarker);
        
        IContext data = reportMain.createContext();
        data.put("obt", 1);

//        registry.registerReport(reportSub); //already registred
        reportMain.process(data, new FileOutputStream(FILE_OUT));
        System.out.println("Обратка завершена");
    }
}



test.docx${obt}
[#include "sub"]
document.xml
Код: xml
1.
2.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<w:document xmlns:ve="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml"><w:body><w:p w:rsidR="00A3724B" w:rsidRPr="00D6096A" w:rsidRDefault="00A3724B" w:rsidP="00D6096A"><w:pPr><w:rPr><w:sz w:val="28"/><w:szCs w:val="28"/></w:rPr></w:pPr><w:r w:rsidRPr="00D6096A"><w:rPr><w:sz w:val="28"/><w:szCs w:val="28"/></w:rPr><w:t>${obt}</w:t></w:r></w:p><w:p w:rsidR="00A3724B" w:rsidRPr="00D6096A" w:rsidRDefault="00A3724B" w:rsidP="00D6096A"><w:pPr><w:rPr><w:sz w:val="28"/><w:szCs w:val="28"/></w:rPr></w:pPr><w:r w:rsidRPr="00D6096A"><w:rPr><w:sz w:val="28"/><w:szCs w:val="28"/></w:rPr><w:t>[#include "sub"]</w:t></w:r></w:p><w:sectPr w:rsidR="00A3724B" w:rsidRPr="00D6096A" w:rsidSect="00D75023"><w:pgSz w:w="11906" w:h="16838"/><w:pgMar w:top="1134" w:right="851" w:bottom="1134" w:left="1418" w:header="709" w:footer="709" w:gutter="0"/><w:cols w:space="708"/><w:docGrid w:linePitch="360"/></w:sectPr></w:body></w:document>



sub.docxstart subDocument
${obt}
end subDocument
document.xml
Код: xml
1.
2.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<w:document xmlns:ve="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml"><w:body><w:p w:rsidR="00C31E4B" w:rsidRPr="00C27B08" w:rsidRDefault="00C31E4B" w:rsidP="00C27B08"><w:pPr><w:rPr><w:sz w:val="28"/><w:szCs w:val="28"/><w:lang w:val="en-US"/></w:rPr></w:pPr><w:r w:rsidRPr="00C27B08"><w:rPr><w:sz w:val="28"/><w:szCs w:val="28"/><w:lang w:val="en-US"/></w:rPr><w:t>start subDocument</w:t></w:r></w:p><w:p w:rsidR="00C31E4B" w:rsidRPr="00C27B08" w:rsidRDefault="00C31E4B" w:rsidP="00C27B08"><w:pPr><w:rPr><w:sz w:val="28"/><w:szCs w:val="28"/><w:lang w:val="en-US"/></w:rPr></w:pPr><w:r w:rsidRPr="00C27B08"><w:rPr><w:sz w:val="28"/><w:szCs w:val="28"/><w:lang w:val="en-US"/></w:rPr><w:t>${obt}</w:t></w:r></w:p><w:p w:rsidR="00C31E4B" w:rsidRPr="00C27B08" w:rsidRDefault="00C31E4B" w:rsidP="00C27B08"><w:pPr><w:rPr><w:sz w:val="28"/><w:szCs w:val="28"/><w:lang w:val="en-US"/></w:rPr></w:pPr><w:r w:rsidRPr="00C27B08"><w:rPr><w:sz w:val="28"/><w:szCs w:val="28"/><w:lang w:val="en-US"/></w:rPr><w:t>end subDocument</w:t></w:r></w:p><w:sectPr w:rsidR="00C31E4B" w:rsidRPr="00C27B08" w:rsidSect="00D75023"><w:pgSz w:w="11906" w:h="16838"/><w:pgMar w:top="1134" w:right="851" w:bottom="1134" w:left="1418" w:header="709" w:footer="709" w:gutter="0"/><w:cols w:space="708"/><w:docGrid w:linePitch="360"/></w:sectPr></w:body></w:document>



stacktrace
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
Exception in thread "main" java.lang.NullPointerException
	at freemarker.cache.TemplateCache.loadTemplate(TemplateCache.java:481)
	at freemarker.cache.TemplateCache.getTemplate(TemplateCache.java:360)
	at freemarker.cache.TemplateCache.getTemplate(TemplateCache.java:235)
	at freemarker.template.Configuration.getTemplate(Configuration.java:578)
	at freemarker.core.Environment.getTemplateForInclusion(Environment.java:1490)
	at freemarker.core.Include.accept(Include.java:157)
	at freemarker.core.Environment.visit(Environment.java:221)
	at freemarker.core.MixedContent.accept(MixedContent.java:92)
	at freemarker.core.Environment.visit(Environment.java:221)
	at freemarker.core.EscapeBlock.accept(EscapeBlock.java:84)
	at freemarker.core.Environment.visit(Environment.java:221)
	at freemarker.core.MixedContent.accept(MixedContent.java:92)
	at freemarker.core.Environment.visit(Environment.java:221)
	at freemarker.core.Environment.process(Environment.java:199)
	at fr.opensagres.xdocreport.template.freemarker.FreemarkerTemplateEngine.process(FreemarkerTemplateEngine.java:149)
	at fr.opensagres.xdocreport.template.freemarker.FreemarkerTemplateEngine.processWithCache(FreemarkerTemplateEngine.java:99)
	at fr.opensagres.xdocreport.template.AbstractTemplateEngine.process(AbstractTemplateEngine.java:111)
	at fr.opensagres.xdocreport.template.AbstractTemplateEngine.process(AbstractTemplateEngine.java:83)
	at fr.opensagres.xdocreport.document.AbstractXDocReport.processTemplateEngine(AbstractXDocReport.java:772)
	at fr.opensagres.xdocreport.document.AbstractXDocReport.process(AbstractXDocReport.java:518)
	at fr.opensagres.xdocreport.document.AbstractXDocReport.process(AbstractXDocReport.java:484)
	at testtemplating.TestTemplating.main(TestTemplating.java:37)
Java Result: 1


...
Рейтинг: 0 / 0
11.05.2013, 15:29:10
    #38253679
avp.mk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Генерация docx отчётов OpenSagres (проблема с includ'ом)
Сам себе пожалуй отвечу. Фича не поддерживается.

https://groups.google.com/forum/#!topic/xdocreport/epA0MdgEwaM
Regards AngeloYou cannot use #include to merge several docx. Merging docx is more hard than a simple inclusion.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Генерация docx отчётов OpenSagres (проблема с includ'ом) / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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