List of usage examples for org.apache.poi.xwpf.usermodel XWPFDocument getDocument
@Internal
public CTDocument1 getDocument()
From source file:org.obeonetwork.m2doc.generator.test.VariousTest.java
License:Open Source License
@Test public void testStaticFragmentWithFieldProcessing() throws InvalidFormatException, IOException, DocumentParserException, DocumentGenerationException { FileInputStream is = new FileInputStream("templates/test2.docx"); OPCPackage oPackage = OPCPackage.open(is); XWPFDocument document = new XWPFDocument(oPackage); // insert some static content. document.createParagraph().createRun().setText("static part that will not contain any link"); CTBookmark bookmark = document.getDocument().getBody().addNewBookmarkStart(); bookmark.setName("bookmark1"); bookmark.setId(new BigInteger("66")); document.createParagraph().createRun().setText("bookmarked part"); CTMarkupRange range = document.getDocument().getBody().addNewBookmarkEnd(); range.setId(new BigInteger("66")); document.createParagraph().createRun().setText("another static part that will not contain any link"); // save the document in another file FileOutputStream fos = new FileOutputStream("results/bookmarkTest.docx"); document.write(fos);//w w w . j a va2s.com document.close(); fos.close(); }
From source file:pe.gob.onpe.rae.controller.registro.registroController.java
@RequestMapping(value = "generateFVDoc/{codExpediente}", method = RequestMethod.GET) public void generateFVDoc(HttpServletRequest request, @PathVariable("codExpediente") int codExpediente, HttpServletResponse response) {//from ww w .j a v a2 s . c o m try { ServletContext sc = request.getSession().getServletContext(); Expediente expediente = new Expediente(codExpediente); expediente = expedienteDAO.find(expediente); Ambito amb = new Ambito(expediente.getAmbito().getId()); amb = ambitoDAO.find(amb); int totalElectoresRemitidos = expedientePadronDAO.getCountByExpediente(expediente); int totalElectoresIncorporados = expedientePadronDAO.getCountByExpedienteAndEstado(expediente, Parametros.ESTADO_ELECTOR_ACTIVO); JsonParser jsonParser = new JsonParser(); JsonObject jsonObject = (JsonObject) jsonParser.parse(amb.getInformacion()); String nombre = jsonObject.get("nombres").toString() + " " + jsonObject.get("apellidoPaterno").toString() + " " + jsonObject.get("apellidoMaterno").toString(); InputStream is = registroController.class.getResourceAsStream("/ejemplo.docx"); XWPFDocument document = new XWPFDocument(is); XWPFHeaderFooterPolicy policy = document.getHeaderFooterPolicy(); if (policy == null) { CTSectPr sectPr = document.getDocument().getBody().addNewSectPr(); policy = new XWPFHeaderFooterPolicy(document, sectPr); } if (policy.getDefaultHeader() == null && policy.getFirstPageHeader() == null && policy.getDefaultFooter() == null) { XWPFFooter footerD = policy.getFooter(1);// createFooter(policy.DEFAULT); XWPFRun run = footerD.getParagraphs().get(0).createRun(); run.setText("usuario"); XWPFParagraph paragraph = footerD.createParagraph(); paragraph.setAlignment(ParagraphAlignment.DISTRIBUTE); run = paragraph.createRun(); run.setFontFamily("Arial"); run.setFontSize(8); run.setText( "Jr.Washington N 1894, Cercado de Lima. Central Telefonica: 417-0630 www.onpe.gob.pe informes@onpe.gob.pe"); } XWPFParagraph paragraph = document.createParagraph(); XWPFRun run = paragraph.createRun(); run.setFontSize(11); run.setFontFamily("Arial"); run.setText("Lima,"); run.addBreak(); paragraph = document.createParagraph(); run = paragraph.createRun(); run.setFontSize(11); run.setFontFamily("Arial"); run.setBold(true); run.setText("OFICIO N -2016-GPP/ONPE"); run.setUnderline(UnderlinePatterns.SINGLE); run.addBreak(); paragraph = document.createParagraph(); run = paragraph.createRun(); run.setFontSize(11); run.setFontFamily("Arial"); run.setText("Seor"); XWPFRun run1 = paragraph.createRun(); run1.setFontSize(11); run1.setFontFamily("Arial"); run1.setText(nombre.replace("\"", "")); run1.setBold(true); run1.addBreak(); XWPFRun run2 = paragraph.createRun(); run2.setFontSize(11); run2.setFontFamily("Arial"); run2.setText(jsonObject.get("cargo").toString().replace("\"", "")); run2.addBreak(); run2.setText("Centro Poblado " + amb.getNombreAmbito()); run2.addBreak(); run2.setText("Av. 28 de Julio S/N Centro Cvico Huacrachuco - Municipalidad Provincial de " + amb.getProvincia()); run2.addBreak(); run2.setText(amb.getDepartamento() + " - " + amb.getProvincia() + " - " + amb.getDistrito()); run2.addBreak(); run2 = paragraph.createRun(); run2.setFontSize(11); run2.setFontFamily("Arial"); run2.setUnderline(UnderlinePatterns.WORDS); run2.setText("Presente"); run2 = paragraph.createRun(); run2.setFontSize(11); run2.setFontFamily("Arial"); run2.setText(".-"); paragraph = document.createParagraph(); run.addBreak(); run = paragraph.createRun(); run.setFontSize(11); run.setFontFamily("Arial"); run.addBreak(); run.setText("Asunto"); run.addTab(); run.addTab(); run.setText(": SOLICITUD DE CREACIN DE MESA DE SUFRAGIO."); run.addBreak(); paragraph = document.createParagraph(); run = paragraph.createRun(); run.setFontSize(11); run.setFontFamily("Arial"); run.setText("Referencia"); run.addTab(); run.setText(": OFICIO N 087-2016/M-CP.CHOCOBAMBA (16AGO2016) - Exp. " + expediente.getExpediente()); run.addBreak(); paragraph = document.createParagraph(); paragraph.setAlignment(ParagraphAlignment.THAI_DISTRIBUTE); run = paragraph.createRun(); run.setFontSize(11); run.setFontFamily("Arial"); run.setText( "Me dirijo a usted con relacin al documento de la referencia con la finalidad de hacer de su " + "conocimiento que se ha cumplido con todos los requisitos que dan inicio al trmite de " + "instalacin de mesas de sufragio en el Centro Poblado " + amb.getNombreAmbito() + ", distrito " + amb.getDistrito() + ", " + "provincia " + amb.getProvincia() + ", departamento " + amb.getDepartamento() + "."); paragraph = document.createParagraph(); paragraph.setAlignment(ParagraphAlignment.THAI_DISTRIBUTE); run = paragraph.createRun(); run.setFontSize(11); run.setFontFamily("Arial"); run.addBreak(); run.setText("Al respecto, el mencionado expediente contiene un listado de electores que solicitan ser " + "parte de la mesa de sufragio de la localidad " + amb.getNombreAmbito() + ", el cual, luego de la validacin " + "realizada, se informa que podrn ser incorporados " + totalElectoresIncorporados + " electores del total de " + totalElectoresRemitidos + " registros " + "de electores remitidos. Se adjunta un cuadro resumen con las observaciones mencionadas."); paragraph = document.createParagraph(); paragraph.setAlignment(ParagraphAlignment.THAI_DISTRIBUTE); run = paragraph.createRun(); run.setFontSize(11); run.setFontFamily("Arial"); run.addBreak(); run.setText( "Asimismo, se programar un viaje para la verificacin de rutas, tiempos y servicios de la " + "localidad, la cual se coordinar previamente con las autoridades del centro poblado a fin de " + "programarla adecuadamente; luego de lo cual se emitir un informe de respuesta al " + "resultado de la solicitud, que de ser positivo, conllevara a la instalacin de mesas de sufragio " + "en el centro poblado en mencin, con miras a las "); run = paragraph.createRun(); run.setFontSize(11); run.setFontFamily("Arial"); run.setBold(true); run.setText("Elecciones Regionales y Municipales de 2018."); paragraph = document.createParagraph(); paragraph.setAlignment(ParagraphAlignment.THAI_DISTRIBUTE); run = paragraph.createRun(); run.setFontSize(11); run.setFontFamily("Arial"); run.addBreak(); run.setText("Finalmente, de requerir mayor informacin, agradeceremos se comunique con nosotros al " + "telefono 417-0630 anexo 8484 o al 8481."); paragraph = document.createParagraph(); paragraph.setAlignment(ParagraphAlignment.THAI_DISTRIBUTE); run = paragraph.createRun(); run.setFontSize(11); run.setFontFamily("Arial"); run.addBreak(); run.setText("Sin otro particular."); paragraph = document.createParagraph(); paragraph.setAlignment(ParagraphAlignment.THAI_DISTRIBUTE); run = paragraph.createRun(); run.setFontSize(11); run.setFontFamily("Arial"); run.addBreak(); run.addBreak(); run.setText("Atentamente,"); response.setContentType("application/vnd.openxmlformats-officedocument.wordprocessingml.document"); document.write(response.getOutputStream()); } catch (Exception ex) { Logger.getLogger(registroController.class.getName()).log(Level.SEVERE, null, ex); } }
From source file:ro.dabuno.office.integration.MailMerge.java
private void applyLines(Data dataIn, XWPFDocument doc) throws XmlException, IOException { CTBody body = doc.getDocument().getBody(); XmlOptions optionsOuter = new XmlOptions(); optionsOuter.setSaveOuter();//from w ww. j a v a 2 s.co m // read the current full Body text String srcString = body.xmlText(); // apply the replacements boolean first = true; List<String> headers = dataIn.getHeaders(); for (List<String> data : dataIn.getData()) { log.info("Applying to template: " + data); String replaced = srcString; for (int fieldNr = 0; fieldNr < headers.size(); fieldNr++) { String header = headers.get(fieldNr); String value = data.get(fieldNr); // ignore columns without headers as we cannot match them if (header == null) { continue; } // use empty string for data-cells that have no value if (value == null) { value = ""; } replaced = replaced.replace("${" + header + "}", value); } // check for missed replacements or formatting which interferes if (replaced.contains("${")) { log.warn("Still found template-marker after doing replacement: " + StringUtils.abbreviate(StringUtils.substring(replaced, replaced.indexOf("${")), 200)); } appendBody(body, replaced, first); first = false; } }