2016-10-28 10 views
0

Я уже сделал Pdf-генерации из HTML в JAVA, и он отлично работал. Но мне нужно, чтобы это было сделано с помощью «scala». Несмотря на то, что я импортировал все банки, как в JAVA, возникает проблема с IText Renderer. Пожалуйста, предложите мне то же самое для достижения результата.HTML to PDF Generation в языке 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") 

Спасибо заранее. .!

+0

Какое сообщение об ошибке вы получаете? – Madoc

+0

ITextRenderer renderer = new ITextRenderer();/* средство рендеринга value не является участником объекта org.xhtmlrenderer.pdf.ITextRenderer */ renderer.setDocument (url); \t/* не найден рендеринг значений */ renderer.layout(); \t \t/* не найден рендеринг значений */ renderer.createPDF (os);/* not found value renderer */ –

ответ

0

Определение визуализации, как 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() 

    } 

} 
+0

Большое спасибо @FaigB. Это действительно сработало для меня ..! –

+0

Hi @FaigB, для автономных программ он отлично работает, но у меня действительно есть проект scala. Но когда я компилирую весь проект. Я получаю следующую ошибку: –

+0

[ошибка] F: \ WorkSpacescala \ helper \ hcueDocuments.scala: 37: объект lowagie не является членом пакета com [error] import com.lowagie.text.DocumentException; [ошибка]^ [ошибка] F: \ WorkSpace \ scala \ helper \ hcueDocuments.scala: 38: объект xhtmlrenderer не является членом пакета org [error] import org.xhtmlrenderer.pdf.ITextRenderer; [ошибка]^ [ошибка] F: \ WorkSpace \ Скала \ хелперов \ hcueDocuments.scala: 102: не найден: тип ITextRenderer [ошибка] вар визуализатор = новый ITextRenderer() [ошибка]^ [ошибка] три найдены ошибки [ошибка] (скомпилировать: скомпилировать) Ошибка компиляции –