我最近將jsreport設置爲ASP.NET應用程序中的嵌入式服務器。 經過很多的努力,我已經能夠生成html報告並使用.net jsreport.Client以最簡單的形式將下面的代碼返回給瀏覽器。jsreport .net客戶端API返回空PDF
正確或錯誤我已將jsreport嵌入到現有的VB應用程序中,並將所有示例代碼轉換爲C#(我不是C#人員)。
Imports System.Net
Imports System.Web.Http
Imports System.Net.Http
Imports System.Data
Imports System.Text.RegularExpressions
Imports System.IO
Imports System.Net.Http.Headers
Imports jsreport.Client
Imports jsreport.Client.Entities
<ActionName("ProcessReport")>
Public Async Function ProcessReport(ByVal reportID As Integer) As Threading.Tasks.Task(Of HttpResponseMessage)
Dim _reportingService = EmbeddedServer.ReportingService
Dim Report = Await _reportingService.RenderAsync(New RenderRequest() _
With {.template = New Template() _
With {
.recipe = "html",
.content = "<h1>Some content</h1>"
}
}
)
Dim ReportContent As String = New StreamReader(Report.Content).ReadToEnd()
Dim response = New HttpResponseMessage()
response.StatusCode = HttpStatusCode.OK
response.Content = New StringContent(ReportContent)
response.Content.Headers.ContentType = New MediaTypeHeaderValue(Report.ContentType.MediaType)
Return response
End Function
但我的問題是,我不能使用phantom-pdf配方生成PDF,如下所示。 ReportContent是一個PDF文檔,但它是空的並且沒有內容。
With {
.recipe = "phantom-pdf",
.content = "<h1>Some content</h1>"
}
請注意,如果我期待在:
的App_Data >> jsreport淨嵌入式>>數據>>臨時
運行上面的代碼後有已呈現一個PDF內容,但不會在回覆中返回。