Search in sources :

Example 1 with CapituloApostilaDTO

use of com.tomasio.projects.trainning.dto.CapituloApostilaDTO in project trainning by fernandotomasio.

the class DOC003PDF method makeReport.

@Override
public void makeReport() {
    teachingDocumentsService = (TeachingDocumentsService) services.get("teachingDocumentsService");
    document = documentManager.getDocumentPortrait();
    os = documentManager.prepareDocument(document);
    writer = documentManager.getWritter();
    ChapterSectionTOC eventHandler = new ChapterSectionTOC();
    writer.setPageEvent(eventHandler);
    document.open();
    CSSResolver cssResolver = new StyleAttrCSSResolver();
    CssFile cssFile = null;
    ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
    String cssStylePath = classLoader.getResource("doc3-styles.css").getPath();
    cssFile = XMLWorkerHelper.getCSS(classLoader.getResourceAsStream("doc3-styles.css"));
    cssResolver.addCss(cssFile);
    XMLWorkerFontProvider fontProvider = new XMLWorkerFontProvider(XMLWorkerFontProvider.DONTLOOKFORFONTS);
    String fontFilePath = classLoader.getResource("MyriadPro-Regular.otf").getPath();
    // fontProvider.register(fontFilePath);
    CssAppliers cssAppliers = new CssAppliersImpl(fontProvider);
    HtmlPipelineContext htmlContext = new HtmlPipelineContext(cssAppliers);
    htmlContext.setTagFactory(Tags.getHtmlTagProcessorFactory());
    PdfWriterPipeline pdf = new PdfWriterPipeline(document, writer);
    HtmlPipeline html = new HtmlPipeline(htmlContext, pdf);
    CssResolverPipeline css = new CssResolverPipeline(cssResolver, html);
    XMLWorker worker = new XMLWorker(css, true);
    p = new XMLParser(worker);
    try {
        String apostilaIdParam = (String) params.get("apostilaId");
        Long apostilaId = Long.parseLong(apostilaIdParam);
        ApostilaDTO apostila = teachingDocumentsService.findApostila(apostilaId);
        CurriculoMinimoDTO curriculo = teachingDocumentsService.findCurriculoMinimo(apostila.getDisciplina().getCurriculoMinimo().getId());
        buildCover(document, curriculo, apostila);
        CapituloApostilaDTO[] capitulos = teachingDocumentsService.findAllCapitulosApostila(apostilaId);
        for (CapituloApostilaDTO capitulo : capitulos) {
            Chapter ch = buildCapitulo(capitulo, p, document);
            document.add(ch);
        }
        document.add(buildReferencias(apostilaId));
        document.add(buildSumario(eventHandler.titles));
    } catch (DocumentException e) {
        Logger.getLogger(this.getClass().getName()).log(Level.SEVERE, null, e);
        throw new CoreException(e.getMessage());
    } catch (IOException ex) {
        Logger.getLogger(DOC003PDF.class.getName()).log(Level.SEVERE, null, ex);
    } finally {
        document.close();
    }
    try {
        PdfReader reader = new PdfReader(os.toByteArray());
        int n = reader.getNumberOfPages();
        String pagesInterval = String.format("1-2,%d, 3-%d", n, n - 1);
        reader.selectPages(pagesInterval);
        os = new ByteArrayOutputStream();
        PdfStamper stamper = new PdfStamper(reader, os);
        stamper.close();
        reader.close();
    } catch (IOException | DocumentException ex) {
        Logger.getLogger(DOC003PDF.class.getName()).log(Level.SEVERE, null, ex);
    }
}
Also used : StyleAttrCSSResolver(com.itextpdf.tool.xml.css.StyleAttrCSSResolver) CssFile(com.itextpdf.tool.xml.css.CssFile) PdfReader(com.itextpdf.text.pdf.PdfReader) CssAppliersImpl(com.itextpdf.tool.xml.html.CssAppliersImpl) CSSResolver(com.itextpdf.tool.xml.pipeline.css.CSSResolver) StyleAttrCSSResolver(com.itextpdf.tool.xml.css.StyleAttrCSSResolver) DocumentException(com.itextpdf.text.DocumentException) CapituloApostilaDTO(com.tomasio.projects.trainning.dto.CapituloApostilaDTO) CurriculoMinimoDTO(com.tomasio.projects.trainning.dto.CurriculoMinimoDTO) XMLParser(com.itextpdf.tool.xml.parser.XMLParser) HtmlPipeline(com.itextpdf.tool.xml.pipeline.html.HtmlPipeline) SecaoApostilaDTO(com.tomasio.projects.trainning.dto.SecaoApostilaDTO) ApostilaDTO(com.tomasio.projects.trainning.dto.ApostilaDTO) CapituloApostilaDTO(com.tomasio.projects.trainning.dto.CapituloApostilaDTO) Chapter(com.itextpdf.text.Chapter) IOException(java.io.IOException) ByteArrayOutputStream(java.io.ByteArrayOutputStream) CssResolverPipeline(com.itextpdf.tool.xml.pipeline.css.CssResolverPipeline) XMLWorkerFontProvider(com.itextpdf.tool.xml.XMLWorkerFontProvider) XMLWorker(com.itextpdf.tool.xml.XMLWorker) CoreException(com.tomasio.projects.trainning.exeption.CoreException) CssAppliers(com.itextpdf.tool.xml.html.CssAppliers) PdfWriterPipeline(com.itextpdf.tool.xml.pipeline.end.PdfWriterPipeline) PdfStamper(com.itextpdf.text.pdf.PdfStamper) HtmlPipelineContext(com.itextpdf.tool.xml.pipeline.html.HtmlPipelineContext)

Example 2 with CapituloApostilaDTO

use of com.tomasio.projects.trainning.dto.CapituloApostilaDTO in project trainning by fernandotomasio.

the class DOC004PDF method makeReport.

@Override
public void makeReport() {
    teachingDocumentsService = (TeachingDocumentsService) services.get("teachingDocumentsService");
    document = documentManager.getDocumentPortrait();
    os = documentManager.prepareDocument(document);
    writer = documentManager.getWritter();
    document.open();
    HtmlPipelineContext htmlContext = new HtmlPipelineContext(null);
    htmlContext.setTagFactory(Tags.getHtmlTagProcessorFactory());
    CSSResolver cssResolver = XMLWorkerHelper.getInstance().getDefaultCssResolver(true);
    Pipeline<?> pipeline = new CssResolverPipeline(cssResolver, new HtmlPipeline(htmlContext, new PdfWriterPipeline(document, writer)));
    XMLWorker worker = new XMLWorker(pipeline, true);
    XMLParser p = new XMLParser(worker);
    try {
        String capituloIdParam = (String) params.get("capituloId");
        Long capituloId = Long.parseLong(capituloIdParam);
        CapituloApostilaDTO capitulo = teachingDocumentsService.findCapituloApostila(capituloId);
        // Paragraph prefacioParagraph = new Paragraph(new Phrase("APOSTILA" + apostila.getDisciplina().getDescricao(), fontManager.getBoldFont()));
        // prefacioParagraph.setAlignment(Element.ALIGN_CENTER);
        // document.add(prefacioParagraph);
        SecaoApostilaDTO[] secoes = teachingDocumentsService.findAllSecoesApostila(capitulo.getId());
        for (SecaoApostilaDTO secao : secoes) {
            if (secao.getContent() != null) {
                Paragraph secaoParagraph = new Paragraph(secao.getContent());
                p.parse(new StringReader(secao.getContent()));
                document.add(Chunk.NEXTPAGE);
            }
        }
    } catch (DocumentException e) {
        Logger.getLogger(this.getClass().getName()).log(Level.SEVERE, null, e);
        throw new CoreException(e.getMessage());
    } catch (IOException ex) {
        Logger.getLogger(DOC004PDF.class.getName()).log(Level.SEVERE, null, ex);
    } finally {
        document.close();
    }
}
Also used : HtmlPipeline(com.itextpdf.tool.xml.pipeline.html.HtmlPipeline) IOException(java.io.IOException) CssResolverPipeline(com.itextpdf.tool.xml.pipeline.css.CssResolverPipeline) Paragraph(com.itextpdf.text.Paragraph) SecaoApostilaDTO(com.tomasio.projects.trainning.dto.SecaoApostilaDTO) XMLWorker(com.itextpdf.tool.xml.XMLWorker) CoreException(com.tomasio.projects.trainning.exeption.CoreException) CSSResolver(com.itextpdf.tool.xml.pipeline.css.CSSResolver) PdfWriterPipeline(com.itextpdf.tool.xml.pipeline.end.PdfWriterPipeline) DocumentException(com.itextpdf.text.DocumentException) CapituloApostilaDTO(com.tomasio.projects.trainning.dto.CapituloApostilaDTO) StringReader(java.io.StringReader) HtmlPipelineContext(com.itextpdf.tool.xml.pipeline.html.HtmlPipelineContext) XMLParser(com.itextpdf.tool.xml.parser.XMLParser)

Example 3 with CapituloApostilaDTO

use of com.tomasio.projects.trainning.dto.CapituloApostilaDTO in project trainning by fernandotomasio.

the class ApostilasController method detailApostila.

@RequestMapping("/detail")
public String detailApostila(Model model, WebRequest request) {
    String apostilaIdParam = request.getParameter("apostilaId");
    Long apostilaId = Long.parseLong(apostilaIdParam);
    ApostilaDTO apostila = teachingDocumentsService.findApostila(apostilaId);
    model.addAttribute("apostila", apostila);
    CapituloApostilaDTO[] capitulos = teachingDocumentsService.findAllCapitulosApostila(apostila.getId());
    List capitulosDataList = new ArrayList();
    for (CapituloApostilaDTO capitulo : capitulos) {
        Map itemCapitulo = new HashMap();
        itemCapitulo.put("id", capitulo.getId());
        UnidadeDidaticaDTO unidadeDidatica = teachingDocumentsService.findUnidadeDidatica(capitulo.getUnidadeDidatica().getId());
        itemCapitulo.put("numero", unidadeDidatica.getNumeroGeral());
        itemCapitulo.put("titulo", capitulo.getUnidadeDidatica().getDescricao());
        SecaoApostilaDTO[] secoes = teachingDocumentsService.findAllSecoesApostila(capitulo.getId());
        List secoesApostilaDataList = new ArrayList();
        for (SecaoApostilaDTO secao : secoes) {
            Map itemSecao = new HashMap();
            itemSecao.put("id", secao.getId());
            itemSecao.put("titulo", secao.getSubunidadeDidatica().getDescricao());
            SubunidadeDidaticaDTO subunidadeDidatica = teachingDocumentsService.findSubunidadeDidatica(secao.getSubunidadeDidatica().getId());
            itemSecao.put("numero", subunidadeDidatica.getNumeroGeral());
            secoesApostilaDataList.add(itemSecao);
        }
        itemCapitulo.put("secoes", secoesApostilaDataList);
        capitulosDataList.add(itemCapitulo);
    }
    List anexosDataList = new ArrayList();
    AnexoApostilaDTO[] anexos = teachingDocumentsService.findAllAnexosApostilas(apostila.getId());
    for (AnexoApostilaDTO anexo : anexos) {
        Map item = new HashMap();
        item.put("id", anexo.getId());
        item.put("titulo", anexo.getTitulo());
        anexosDataList.add(item);
    }
    model.addAttribute("capitulosDataList", capitulosDataList);
    model.addAttribute("anexosDataList", anexosDataList);
    return "apostilas/detail";
}
Also used : HashMap(java.util.HashMap) AnexoApostilaDTO(com.tomasio.projects.trainning.dto.AnexoApostilaDTO) ApostilaDTO(com.tomasio.projects.trainning.dto.ApostilaDTO) CapituloApostilaDTO(com.tomasio.projects.trainning.dto.CapituloApostilaDTO) SecaoApostilaDTO(com.tomasio.projects.trainning.dto.SecaoApostilaDTO) ArrayList(java.util.ArrayList) SubunidadeDidaticaDTO(com.tomasio.projects.trainning.dto.SubunidadeDidaticaDTO) UnidadeDidaticaDTO(com.tomasio.projects.trainning.dto.UnidadeDidaticaDTO) SecaoApostilaDTO(com.tomasio.projects.trainning.dto.SecaoApostilaDTO) CapituloApostilaDTO(com.tomasio.projects.trainning.dto.CapituloApostilaDTO) ArrayList(java.util.ArrayList) List(java.util.List) AnexoApostilaDTO(com.tomasio.projects.trainning.dto.AnexoApostilaDTO) HashMap(java.util.HashMap) Map(java.util.Map) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Example 4 with CapituloApostilaDTO

use of com.tomasio.projects.trainning.dto.CapituloApostilaDTO in project trainning by fernandotomasio.

the class ApostilasController method detailSecao.

@RequestMapping("/secao/detail")
public String detailSecao(Model model, WebRequest request) {
    String secaoidParam = request.getParameter("secaoId");
    Long secaoId = Long.parseLong(secaoidParam);
    SecaoApostilaDTO secao = teachingDocumentsService.findSecaoApostila(secaoId);
    SubunidadeDidaticaDTO subunidade = teachingDocumentsService.findSubunidadeDidatica(secao.getSubunidadeDidatica().getId());
    CapituloApostilaDTO capitulo = teachingDocumentsService.findCapituloApostila(secao.getCapituloApostila().getId());
    ObjetivoOperacionalizadoDTO[] objetivosOperacionalizados = teachingDocumentsService.findAllObjetivosOperacionalizadosBySubunidade(subunidade.getId());
    List objetivosDataList = new ArrayList();
    for (ObjetivoOperacionalizadoDTO objetivo : objetivosOperacionalizados) {
        Map item = new HashMap();
        item.put("descricao", objetivo.getDescricao() + " (" + objetivo.getNivelAprendizagem().getCodigo() + ")");
        objetivosDataList.add(item);
    }
    model.addAttribute("objetivosDataList", objetivosDataList);
    model.addAttribute("secao", secao);
    model.addAttribute("subunidade", subunidade);
    model.addAttribute("apostilaId", capitulo.getApostila().getId());
    return "secoes/detail";
}
Also used : SecaoApostilaDTO(com.tomasio.projects.trainning.dto.SecaoApostilaDTO) HashMap(java.util.HashMap) CapituloApostilaDTO(com.tomasio.projects.trainning.dto.CapituloApostilaDTO) ArrayList(java.util.ArrayList) SubunidadeDidaticaDTO(com.tomasio.projects.trainning.dto.SubunidadeDidaticaDTO) ArrayList(java.util.ArrayList) List(java.util.List) ObjetivoOperacionalizadoDTO(com.tomasio.projects.trainning.dto.ObjetivoOperacionalizadoDTO) HashMap(java.util.HashMap) Map(java.util.Map) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Example 5 with CapituloApostilaDTO

use of com.tomasio.projects.trainning.dto.CapituloApostilaDTO in project trainning by fernandotomasio.

the class ApostilasController method saveApostila.

@RequestMapping("/save")
public String saveApostila(Model model, @Valid ApostilaForm apostilaForm, WebRequest request) {
    ApostilaDTO apostila;
    if (apostilaForm.getId() == null) {
        apostila = new ApostilaDTO();
    } else {
        apostila = teachingDocumentsService.findApostila(apostilaForm.getId());
    }
    DisciplinaDTO discipina = teachingDocumentsService.findDisciplina(apostilaForm.getDisciplinaId());
    apostila.setDisciplina(discipina);
    apostila.setDefinicoes(apostila.getDefinicoes());
    apostila.setIntroducao(apostila.getIntroducao());
    if (apostilaForm.getId() == null) {
        Long apostilaId = teachingDocumentsService.createApostila(apostila);
        apostila = teachingDocumentsService.findApostila(apostilaId);
        UnidadeDidaticaDTO[] unidades = teachingDocumentsService.findAllUnidadesDidaticas(discipina.getId());
        for (UnidadeDidaticaDTO unidade : unidades) {
            CapituloApostilaDTO capitulo = new CapituloApostilaDTO();
            capitulo.setApostila(apostila);
            capitulo.setUnidadeDidatica(unidade);
            Long capituloId = teachingDocumentsService.createCapituloApostila(capitulo);
            capitulo = teachingDocumentsService.findCapituloApostila(capituloId);
            SubunidadeDidaticaDTO[] subunidades = teachingDocumentsService.findAllSubunidadesDidaticas(unidade.getId());
            for (SubunidadeDidaticaDTO subunidade : subunidades) {
                SecaoApostilaDTO secao = new SecaoApostilaDTO();
                secao.setCapituloApostila(capitulo);
                secao.setSubunidadeDidatica(subunidade);
                teachingDocumentsService.createSecaoApostila(secao);
            }
        }
    } else {
        teachingDocumentsService.updateApostila(apostila);
    }
    return "redirect:/apostilas";
}
Also used : SecaoApostilaDTO(com.tomasio.projects.trainning.dto.SecaoApostilaDTO) AnexoApostilaDTO(com.tomasio.projects.trainning.dto.AnexoApostilaDTO) ApostilaDTO(com.tomasio.projects.trainning.dto.ApostilaDTO) CapituloApostilaDTO(com.tomasio.projects.trainning.dto.CapituloApostilaDTO) SecaoApostilaDTO(com.tomasio.projects.trainning.dto.SecaoApostilaDTO) DisciplinaDTO(com.tomasio.projects.trainning.dto.DisciplinaDTO) CapituloApostilaDTO(com.tomasio.projects.trainning.dto.CapituloApostilaDTO) SubunidadeDidaticaDTO(com.tomasio.projects.trainning.dto.SubunidadeDidaticaDTO) UnidadeDidaticaDTO(com.tomasio.projects.trainning.dto.UnidadeDidaticaDTO) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Aggregations

CapituloApostilaDTO (com.tomasio.projects.trainning.dto.CapituloApostilaDTO)8 SecaoApostilaDTO (com.tomasio.projects.trainning.dto.SecaoApostilaDTO)6 SubunidadeDidaticaDTO (com.tomasio.projects.trainning.dto.SubunidadeDidaticaDTO)4 RequestMapping (org.springframework.web.bind.annotation.RequestMapping)4 ApostilaDTO (com.tomasio.projects.trainning.dto.ApostilaDTO)3 CoreException (com.tomasio.projects.trainning.exeption.CoreException)3 DocumentException (com.itextpdf.text.DocumentException)2 XMLWorker (com.itextpdf.tool.xml.XMLWorker)2 XMLParser (com.itextpdf.tool.xml.parser.XMLParser)2 CSSResolver (com.itextpdf.tool.xml.pipeline.css.CSSResolver)2 CssResolverPipeline (com.itextpdf.tool.xml.pipeline.css.CssResolverPipeline)2 PdfWriterPipeline (com.itextpdf.tool.xml.pipeline.end.PdfWriterPipeline)2 HtmlPipeline (com.itextpdf.tool.xml.pipeline.html.HtmlPipeline)2 HtmlPipelineContext (com.itextpdf.tool.xml.pipeline.html.HtmlPipelineContext)2 AnexoApostilaDTO (com.tomasio.projects.trainning.dto.AnexoApostilaDTO)2 UnidadeDidaticaDTO (com.tomasio.projects.trainning.dto.UnidadeDidaticaDTO)2 IOException (java.io.IOException)2 ArrayList (java.util.ArrayList)2 HashMap (java.util.HashMap)2 List (java.util.List)2