OpenOffice.org/ServletでPDFを出力する
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
まだ書き途中!!
***OpenOffice.orgサーバを起動 [#vb286280]
Windows:
> cd [OOo_DIR]/program
>soffice -accept=socket,host=localhost,port=8100;urp;Sta...
Linux:
/opt/openoffice.org2.0/program/soffice -accept="socket,p...
***Servletのソースコード [#w5a57884]
package nu.mine.kino.servlets;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.joott.uno.DocumentConverter;
import net.sf.joott.uno.DocumentConverterFactory;
import net.sf.joott.uno.DocumentFormat;
/**
* Servlet implementation class for Servlet: PDFServlet
*
* @web.servlet name = "PDFServlet"
* @web.servlet-mapping url-pattern = "/PDFServlet"
*
*/
public class PDFServlet extends HttpServlet {
/*
* (non-Java-doc)
*
* @see javax.servlet.http.HttpServlet#doGet(HttpServl...
* HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletExcept...
System.out.println("Servlet.Start.");
String fileName = request.getParameter("file");
try {
// テンプレートとなるSXWファイルのパスを取得し、フ...
String inputPath = this.getServletContext().getRea...
"/WEB-INF/" + fileName);
System.out.println(inputPath);
File inputFile = new File(inputPath);
// 出力ファイルを作成します。
String outputPath0 = "/WEB-INF/output.pdf"
+ Thread.currentThread().getId();
String outputPath = getServletContext().getRealPat...
File outputFile = new File(outputPath);
System.out.println(outputPath);
DocumentConverter converter = DocumentConverterFac...
.getConverter();
try {
// 変換を実行します。
converter.convert(inputFile, outputFile,
DocumentFormat.PDF_WRITER);
} catch (IOException e) {
e.printStackTrace();
}
response.setHeader("Cache-Control", "");
response.setHeader("Pragma", "");
response.setContentType(DocumentFormat.PDF_WRITER....
FileInputStream in = new FileInputStream(outputFil...
OutputStream os = response.getOutputStream();
byte[] buffer = new byte[2048];
int bytes;
while ((bytes = in.read(buffer, 0, 2048)) != -1) {
os.write(buffer, 0, bytes);
}
in.close();
os.close();
outputFile.delete();
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("Servlet.End.");
}
}
また、必要なlibは以下の感じ。
dom4j-1.4.jar
jooconverter.jar
jootemplates.jar
juh.jar
jurt.jar
ognl-2.6.5.jar
ridl.jar
sandbox.jar
unoil.jar
xerces-2.6.2.jar
xstream-1.0.1.jar
参考~
-[[Javaを利用してドキュメントをプログラムから操作する:htt...
----
この記事は
#vote(おもしろかった[5],そうでもない[1])
-フォントについて。フォントは基本的に、埋め込みになってし...
-なのでMS*のフォントはLinuxにないから、他のフォントに置き...
-置き換えられるフォントは設定可能。場所はウィンドウ>>オプ...
-さらに、デフォルトのフォントについては、オプションの、Op...
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}
終了行:
// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
まだ書き途中!!
***OpenOffice.orgサーバを起動 [#vb286280]
Windows:
> cd [OOo_DIR]/program
>soffice -accept=socket,host=localhost,port=8100;urp;Sta...
Linux:
/opt/openoffice.org2.0/program/soffice -accept="socket,p...
***Servletのソースコード [#w5a57884]
package nu.mine.kino.servlets;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.joott.uno.DocumentConverter;
import net.sf.joott.uno.DocumentConverterFactory;
import net.sf.joott.uno.DocumentFormat;
/**
* Servlet implementation class for Servlet: PDFServlet
*
* @web.servlet name = "PDFServlet"
* @web.servlet-mapping url-pattern = "/PDFServlet"
*
*/
public class PDFServlet extends HttpServlet {
/*
* (non-Java-doc)
*
* @see javax.servlet.http.HttpServlet#doGet(HttpServl...
* HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletExcept...
System.out.println("Servlet.Start.");
String fileName = request.getParameter("file");
try {
// テンプレートとなるSXWファイルのパスを取得し、フ...
String inputPath = this.getServletContext().getRea...
"/WEB-INF/" + fileName);
System.out.println(inputPath);
File inputFile = new File(inputPath);
// 出力ファイルを作成します。
String outputPath0 = "/WEB-INF/output.pdf"
+ Thread.currentThread().getId();
String outputPath = getServletContext().getRealPat...
File outputFile = new File(outputPath);
System.out.println(outputPath);
DocumentConverter converter = DocumentConverterFac...
.getConverter();
try {
// 変換を実行します。
converter.convert(inputFile, outputFile,
DocumentFormat.PDF_WRITER);
} catch (IOException e) {
e.printStackTrace();
}
response.setHeader("Cache-Control", "");
response.setHeader("Pragma", "");
response.setContentType(DocumentFormat.PDF_WRITER....
FileInputStream in = new FileInputStream(outputFil...
OutputStream os = response.getOutputStream();
byte[] buffer = new byte[2048];
int bytes;
while ((bytes = in.read(buffer, 0, 2048)) != -1) {
os.write(buffer, 0, bytes);
}
in.close();
os.close();
outputFile.delete();
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("Servlet.End.");
}
}
また、必要なlibは以下の感じ。
dom4j-1.4.jar
jooconverter.jar
jootemplates.jar
juh.jar
jurt.jar
ognl-2.6.5.jar
ridl.jar
sandbox.jar
unoil.jar
xerces-2.6.2.jar
xstream-1.0.1.jar
参考~
-[[Javaを利用してドキュメントをプログラムから操作する:htt...
----
この記事は
#vote(おもしろかった[5],そうでもない[1])
-フォントについて。フォントは基本的に、埋め込みになってし...
-なのでMS*のフォントはLinuxにないから、他のフォントに置き...
-置き換えられるフォントは設定可能。場所はウィンドウ>>オプ...
-さらに、デフォルトのフォントについては、オプションの、Op...
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}
ページ名: