私は、VB.NETのSelectPDFを使用してページからpdfへhtmlを保存しようとしています。 私はWebページjsonからhtmlで渡して保存し、サーバー側で取得します。コンバータはhtmlを正常に変換します(エラーはスローされません)。selectPDFはHTML文字列からPDFを保存しません
Javascriptを:
var dataToSend = JSON.stringify({ 'html': $("#content").html() });
$.ajax({
url: "/leaderboards/pdf.aspx",
type: 'POST',
data: dataToSend,
contentType: "application/json; charset=utf-8",
success: function (data) {
$("#dialog").dialog("close");
console.log(data);
},
error: function (errorText) {
console.log(errorText);
}
});
pdf.aspx
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Try
Dim jsonString = New StreamReader(Request.InputStream).ReadToEnd()
Dim jsonObj As JObject = JObject.Parse(jsonString)
Dim html As String = jsonObj.Item("html")
If html.Length > 0 Then
html = "<html><body>" & html & "</body></html>"
' read parameters from the webpage
Dim webPageWidth As Integer = 1024
Dim webPageHeight As Integer = 0
' instantiate a html to pdf converter object
Dim converter As New HtmlToPdf()
' create a new pdf document converting an url
Dim doc As PdfDocument = converter.ConvertHtmlString(html, Request.Url.AbsoluteUri)
' save pdf document
' !!! code breaks here with exception: Unable to evaluate expression.!!!
doc.Save(Response, False, "C:\MyProject\Pdf\Sample.pdf")
' close pdf document
doc.Close()
Else
Response.Write("No Data")
End If
Catch ex As Exception
Response.Write("Error :" + ex.Message)
End Try
End Sub
私は
doc.Save("C:\MyProject\Pdf\Sample.pdf")
にコードを改行を変更した場合、私はその場所に保存された空のPDFを持っています。私はまた、HTMLで文字列を保存しようとしたが、例えば成功しませんでした:
html = "<html><body>hello world</body></html>"
がHTMLを表す文字列からこのSelectPDFライブラリとPDFを保存することが可能ですか?はいの場合、私は何故 "doc.Save(Response、False、" C:\ MyProject \ Pdf \ Sample.pdf ")というエラーが出るのですか?ありがとう
は非常にありがとう: http://selectpdf.com/docs/ConversionDelay.htm
それはこのようなものになります多く! converter.Options.MinPageLoadTime = 2を追加すると助けになりました! – kaplievabell
物理ファイルに保存する代わりに、このPDFファイルをバイト配列に変換する方法を教えてください。親切に私を助けてください。 –