Package com.drighetto.essai.asposewordsapi

Source Code of com.drighetto.essai.asposewordsapi.DocumentModifier

package com.drighetto.essai.asposewordsapi;

import com.aspose.words.Document;
import com.aspose.words.FormField;
import com.aspose.words.FormFields;
import com.aspose.words.SaveFormat;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
* Simple document modifier
*
* @author Dominique RIGHETTO
*
*/
public class DocumentModifier extends javax.servlet.http.HttpServlet implements
    javax.servlet.Servlet {
  static final long serialVersionUID = 1L;

  /**
   * {@inheritDoc}
   *
   * @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request,
   *      HttpServletResponse response)
   */
  @SuppressWarnings("boxing")
  @Override
  protected void doGet(HttpServletRequest request,
      HttpServletResponse response) throws ServletException {
    try {
      // /* Info msg */
      // System.out.printf("Process request from : %s\n", request
      // .getRemoteAddr());
      /* Create a simple document */
      String dotUrl = "http://" + request.getServerName() + ":"
          + request.getServerPort() + request.getContextPath()
          + "/dot/MODELE_VIDE_FR.dot";
      dotUrl = "D:\\TMP\\ACC_RECEP_REFERE_IT.dot";
      long start = System.currentTimeMillis();
      Document wordDoc = new Document(dotUrl);

      // /* Replace bookmark value */
      // Get document bookmarks collection
      // Bookmarks bookmarks = wordDoc.getRange().getBookmarks();
      // for (int i = 0; i < bookmarks.getCount(); i++) {
      // Bookmark bookmark = bookmarks.get(i);
      // String value = "VALUE_" + Integer.toString(i);
      // System.out.printf(
      // "Processing bookmark['%s'] : ['%s'] to ['%s']\n",
      // bookmark.getName(), bookmark.getText(), value);
      // bookmark.setText(value);
      // }
      // /* Replace text directly */
      // int count = wordDoc.getRange().replace("DATE_DEP_AFF_FAX",
      // "DOMINIQUE", true, true);
      // System.out.printf("%s items replaced !\n", count);
      /* Replace text fields */
      FormFields formFields = wordDoc.getRange().getFormFields();
      for (int i = 0; i < formFields.getCount(); i++) {
        FormField formField = formFields.get(i);
        String value = "VALUE_" + Integer.toString(i);
        System.out.printf("Processing FormFiled['%s'] to ['%s']\n",
            formField.getName(), value);
        int count = formField.getDocument().getRange().replace(
            formField.getName(), value, true, true);
        System.out.printf("%s items replaced !\n", count);
      }

      System.out.printf("Document modified in %s ms\n", (System
          .currentTimeMillis() - start));

      /* Send document to client */
      response.setContentType("application/vnd.ms-word");
      response.addHeader("Content-Disposition",
          "inline;filename=myWordDocument.doc");
      wordDoc.save(response.getOutputStream(), SaveFormat.DOC);
      response.flushBuffer();
    } catch (Exception e) {
      throw new ServletException(e);
    }
  }

  /**
   * {@inheritDoc}
   *
   * @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest request,
   *      HttpServletResponse response)
   */
  @Override
  protected void doPost(HttpServletRequest request,
      HttpServletResponse response) throws ServletException {
    doGet(request, response);
  }
}
TOP

Related Classes of com.drighetto.essai.asposewordsapi.DocumentModifier

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.