私はすでにJAVAのHTMLからPdf生成を行っており、うまくいきました。 しかし、私はこれを "scala"で行う必要があります。 JAVAのようにすべてのjarファイルをインポートしても、ITextレンダラーには問題があります。 私は出力を達成するために同じことをお勧めします。HTMLからPDFへの生成Scala言語で
Javaコード:
import java.io.*;
import com.lowagie.text.DocumentException;
import org.xhtmlrenderer.pdf.ITextRenderer;
public class Htmltopdf_hcue {
public static void main(String[] args) throws IOException, DocumentException {
String File_To_Convert = "F:/Pdf_Generation/Appointment Schedule_Fair_Edit.html";
//String File_To_Convert = "C:/Users/hCue/Desktop/img.html";
String url = new File(File_To_Convert).toURI().toURL().toString();
System.out.println(""+url);
String HTML_TO_PDF = "F:/Pdf_Generation/TheEndPDF344444444444.pdf";
OutputStream os = new FileOutputStream(HTML_TO_PDF);
ITextRenderer renderer = new ITextRenderer();
renderer.setDocument(url);
renderer.layout();
renderer.createPDF(os);
os.close();
}
}
Scalaのコード:
import java.awt.image.BufferedImage
import java.io.File
import java.io.FileOutputStream
import java.io.FileInputStream
import java.io.InputStreamReader
import java.net.URL
import javax.imageio.ImageIO
import java.io
import com.lowagie.text.DocumentException;
import org.xhtmlrenderer.pdf.ITextRenderer;
import org.xhtmlrenderer.pdf.ITextTextRenderer
object Hello{
def main(args: Array[String]) {
var fos: FileOutputStream = null
val File_To_Convert ="F:/Pdf_Generation/Appointment Schedule_Fair_Edit.html";
val url = new File(File_To_Convert).toURI().toURL().toString();
val HTML_TO_PDF = "F:/Pdf_Generation/TheEndPDF344444444444.pdf";
fos = new FileOutputStream(HTML_TO_PDF);
ITextRenderer renderer = new ITextRenderer();/*Getting Error as Value renderer is not a member object of org.xhtmlrenderer.pdf.ITextRenderer */
renderer.setDocument(url);
renderer.layout();
renderer.createPDF(fos);
fos.close();
}
}
Build.sbt
//resolvers += "Typesafe repository" at "https://repo.typesafe.com/typesafe/releases/"
// The Typesafe repository
//resolvers += "Typesafe repository" at "http://repo.typesafe.com/typesafe/releases/"
resolvers += "Sonatype snapshots" at "https://oss.sonatype.org/content/repositories/snapshots"
// The Play plugin
//addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.3.7")
// Use the Play sbt plugin for Play projects
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % Option(System.getProperty("play.version")).getOrElse("2.3.1"))
// web plugins
addSbtPlugin("com.typesafe.sbt" % "sbt-coffeescript" % "1.0.0")
addSbtPlugin("com.typesafe.sbt" % "sbt-less" % "1.0.0")
addSbtPlugin("com.typesafe.sbt" % "sbt-jshint" % "1.0.1")
addSbtPlugin("com.typesafe.sbt" % "sbt-rjs" % "1.0.1")
addSbtPlugin("com.typesafe.sbt" % "sbt-digest" % "1.0.0")
addSbtPlugin("com.typesafe.sbt" % "sbt-mocha" % "1.0.0")
addSbtPlugin("com.github.play2war" % "play2-war-plugin" % "1.3-beta1")
事前にありがとうございます。 !
としてレンダリング定義しますか? – Madoc
ITextRendererレンダラー=新しいITextRenderer();/*値レンダラーはオブジェクトorg.xhtmlrenderer.pdf.ITextRendererのメンバーではありません*/ renderer.setDocument(url); \t/*見つからない値レンダラー*/ renderer.layout(); \t \t/*見つからない値レンダラー*/ renderer.createPDF(os);/*値レンダラーが見つかりません*/ –