2016-10-28 11 views
0

私はすでに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") 

事前にありがとうございます。 !

+0

としてレンダリング定義しますか? – Madoc

+0

ITextRendererレンダラー=新しいITextRenderer();/*値レンダラーはオブジェクトorg.xhtmlrenderer.pdf.ITextRendererのメンバーではありません*/ renderer.setDocument(url); \t/*見つからない値レンダラー*/ renderer.layout(); \t \t/*見つからない値レンダラー*/ renderer.createPDF(os);/*値レンダラーが見つかりません*/ –

答えて

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

こんにちは@FaigB、スタンドアロンのプログラムではうまくいきますが、実際にはscalaプロジェクトがあります。しかし、私はプロジェクト全体をコンパイルしています。 –

+0

[エラー] F:\ WorkSpacescala \ helper \ hcueDocuments.scala:37:オブジェクトlowagieはパッケージcomのメンバーではありません [エラー] import com.lowagie.text.DocumentException; [エラー]^ [エラー] F:\ WorkSpace \ scala \ helper \ hcueDocuments.scala:38:オブジェクトxhtmlrendererがパッケージorgのメンバではありません [エラー] import org.xhtmlrenderer.pdf.ITextRenderer; [エラー]^ [エラー] F:\ワークスペースの\ Scalaの\ヘルパー\のhcueDocuments.scala:102:見つかりません:)ITextRenderer [エラー] VARレンダラ=新しいITextRendererを(入力 [エラー]^ [エラー] 3エラーが見つかりました [エラー](コンパイル:コンパイル)コンパイルに失敗しました –

関連する問題