Программный способ поместить сайт в новый файл Word ... на Java - PullRequest
3 голосов
/ 12 мая 2009

Можно ли программно поместить содержимое веб-страницы в файл Word?

Чтобы еще больше усложнить это, я хотел бы выполнить эти шаги в Java (используя JNI, если необходимо).

Вот шаги, которые я хочу сделать программно, а также способы, которые я бы сделал сегодня вручную:

  1. Укажите метод с URL (Вручную: открыть страницу в Firefox)
  2. Скопируйте содержимое этого URL (вручную: Ctrl-A, чтобы выделить все)
  3. Создание нового документа Word (вручную: открыть Microsoft Word)
  4. Вставить содержимое URL в Word (вручную: Ctrl-V для вставки)
  5. Сохранить файл Word (Вручную: сохранить файл Word)

Ответы [ 3 ]

2 голосов
/ 12 мая 2009

вы могли бы лучше imho загрузить файл с использованием HTTP, затем создать новый файл слова с помощью Apache POI и скопировать поток HTTP внутри файла слова

1 голос
/ 12 мая 2009

HTMLUnit можно использовать для программного открытия страницы (при необходимости обозначая себя Firefox), а Apache POI можно использовать для создания файла Microsoft Word (в формате Word 97) .

0 голосов
/ 12 мая 2009

В этой статье описан способ манипулирования документами MS-Word изнутри Java с помощью замены строк или XSLT.

Что касается захвата содержимого URL, это более простая часть задачи, которую вы можете выполнить с помощью чего-то довольно простого.

import java.net.URL;
import java.net.URLConnection;
import java.io.InputStreamReader;
import java.io.BufferedReader;


public class util
{

  public String HttpGet(String urlString)
  {
    String resultData= null;
    try
    {
      URL url = new URL(urlString);
      URLConnection conn = url.openConnection();
      conn.connect();

      BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
      String line = null;
      java.lang.StringBuffer sb1= new java.lang.StringBuffer();
      while ( (line = br.readLine()) != null)
        sb1.append(line);

      resultData= sb.toString();
      mStatus= "gotprice";

    } 
    catch (java.lang.Throwable e)
    {
      e.printStackTrace();
    }
    return resultData;
  }


}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...