用Scala语言生成HTML到PDF
我已经用JAVA从HTML生成Pdf,效果很好。 但我需要用“scala”来完成这个。尽管我像在JAVA中那样导入了所有JAR,但IText渲染器还是出现了一个问题。 请建议我以同样的方式实现输出 Java代码:用Scala语言生成HTML到PDF,scala,pdf-conversion,Scala,Pdf Conversion,我已经用JAVA从HTML生成Pdf,效果很好。 但我需要用“scala”来完成这个。尽管我像在JAVA中那样导入了所有JAR,但IText渲染器还是出现了一个问题。 请建议我以同样的方式实现输出 Java代码: import java.io.*; import com.lowagie.text.DocumentException; import org.xhtmlrenderer.pdf.ITextRenderer; public class Htmltopdf_hcue { pu
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();
}
}
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();
}
}
Scala代码:
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();
}
}
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();
}
}
构建.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")
提前谢谢你 将渲染定义为
val
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
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)
val renderer = new ITextRenderer()
renderer.setDocument(url)
renderer.layout()
renderer.createPDF(fos)
fos.close()
}
}
您会收到什么错误消息?ITextRenderer=newitextrenderer()/*值呈现器不是对象org.xhtmlrenderer.pdf.ITextRenderer*/renderer.setDocument(url)的成员;/*未找到值renderer*/renderer.layout();/*未找到值渲染器*/renderer.createPDF(os);/*找不到值渲染器*/非常感谢@FaigB。这对我来说真的很有效。。!您好@FaigB,对于独立程序来说,它工作得很好,但实际上我有scala项目。但是当我编译整个项目的时候。我收到以下错误:[error]F:\WorkSpacescala\helper\hcueDocuments.scala:37:对象lowagie不是包com的成员[error]import com.lowagie.text.DocumentException;[error]^[error]F:\WorkSpace\scala\helper\hcueDocuments.scala:38:object xhtmlrenderer不是包组织的成员[error]import org.xhtmlrenderer.pdf.ITextRenderer;[error]^[error]F:\WorkSpace\scala\helper\hcueDocuments.scala:102:未找到:键入ITextRenderer[error]var renderer=new ITextRenderer()[error]^[error]发现三个错误[error](编译:编译)编译失败已将所需的JAR导入到项目中。。!出现此问题的可能性有多大?build.sbt的外观如何?