2016-07-11 7 views
0

のメンバーではありません。自分のアプリケーションでPDFを生成するhttps://knoldus.wordpress.com/2016/05/20/play2-pdf-plugin-js-enabled-and-disabled-browser/?iframe=true&theme_preview=trueをので、これは私のコントローラのスカラ座である:値toBytes私はこの例を実装しようとしているオブジェクトit.innove.play.pdf.PdfGeneratorプレイフレームワーク2.4

package controllers 

import it.innove.play.pdf.PdfGenerator 

import javax.inject.{ Inject, Named } 
import com.mohiva.play.silhouette.api.{ Environment, LogoutEvent, Silhouette } 
import com.mohiva.play.silhouette.impl.authenticators.CookieAuthenticator 
import play.api.i18n.{ I18nSupport, MessagesApi, Messages } 
import play.api._ 
import play.api.mvc._ 
import scala.concurrent.Future 
import play.api.libs.json._ 
import play.api.Play.current 
import models.silhouette.User 
import scala.util.{ Try, Success, Failure } 
import forms._ 
import utils._ 

import play.api.libs.concurrent.Execution.Implicits.defaultContext 
import play.api.Configuration 

class Application @Inject() (val messagesApi: MessagesApi, 
    val env: Environment[User, CookieAuthenticator], 
    configuration: Configuration) extends Silhouette[User, CookieAuthenticator] with I18nSupport { 

    def homepage: Action[AnyContent] = Action { implicit request => 
    Ok(PdfGenerator.toBytes(views.html.index("Your PDF is generated"), "http://localhost:9000")).as("application/pdf") 
    } 
} 

私のインデックス:

@(message: String) 
@printPdf("Welcome") { 
    Image: <img src="/public/images/favicon.png"/><br/> 
    Hello world! <br/> 
    @message 
} 

printPdf:

@(title: String)(content: Html) 
<html lang="en"> 
    <head> 
     <title>@title</title> 
     <link rel="stylesheet" media="print" 
      href="@routes.Assets.versioned("stylesheets/main.css")"> 
     </head> 
     <body> 
      <div> 

      </div> 
      <div class="content-text" > 
       @content 
      </div> 
      <div> 

      </div> 
     </body> 
    </html> 

私の依存関係:

libraryDependencies ++= Seq(
    "net.codingwell" %% "scala-guice" % "4.0.1", 
    "org.reactivemongo" %% "reactivemongo" % "0.11.10", 
    "org.reactivemongo" %% "play2-reactivemongo" % "0.11.10", 
    "com.mohiva" %% "play-silhouette" % "3.0.0", 
    "net.ceedubs" %% "ficus" % "1.1.2", 
    "com.adrianhurt" %% "play-bootstrap3" % "0.4.4-P24", 
    filters, 
    cache, 
    ws, 
    specs2 % Test, 
    "org.scalatest" %% "scalatest" % "2.2.4" % Test, 
    "com.typesafe.play" %% "play-mailer" % "4.0.0", 
    "it.innove" % "play2-pdf" % "1.4.0", 
    "org.webjars" %% "webjars-play" % "2.5.0", 
    "com.typesafe.play" %% "anorm" % "2.4.0") 
+0

あなたの問題は何ですか?それはコンパイルされないか、ランタイムの問題がありますか?私はこのエラーを取得する – irundaia

+0

コンパイルの問題:値toBytesは、オブジェクトit.innove.play.pdf.PdfGenerator – Rajeun

答えて

0

静的でないメソッドに静的にアクセスしようとしています。 PdfGenerator.toBytes(???)は静的メソッドではありません。 new PdfGenerator().toBytes(???)に変更すると、コンパイルの問題が解決されます。あなたのケースでは:

def homepage: Action[AnyContent] = Action { implicit request => 
    Ok(new PdfGenerator().toBytes(views.html.index("Your PDF is generated"), "http://localhost:9000")).as("application/pdf") 
} 
+0

のメンバーではありませんどうもありがとうございました!!!!あなたは私の一日を救った – Rajeun

+0

あなたは大歓迎です:) – irundaia

関連する問題