現在、UWPでPDFを生成するための多くのサードパーティ製の有料パッケージ(SyncfusionおよびXFiniumなど)があります。 PDFSharpのような無料ライブラリーについては、UWPでは利用できません。あなたが有料のものを望んでいないので、あなたは無料のライブラリを持つ古典的なアプリケーションを作成し、それを処理するAppServiceを作成することを検討するかもしれません。詳細はAppServiceBridgeSampleを参照してください。
は、XAMLページを持って、printing機能により、PDFがうまく機能することができます生成
を印刷してPDFに変換します。しかし、あなたの "隠された印刷ダイアログ"の要求は不可能です。印刷UIを印刷するために非表示にすることはできません。
は
オープンjsPDFライブラリは、JavaScriptでPDFにHTMLを生成することができますWebViewのとHTMLと似た何かを。そして、InvokeScriptAsync
からPDF結果をWebView
から得ることができます。たとえば:
はJavaScript
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.3.4/jspdf.debug.js"></script>
<script type='text/javascript'>
function print() {
var doc = new jsPDF()
doc.text('Hello world!', 10, 10);
doc.circle(50, 50, 50);
var pdfresult = doc.output();
document.getElementById('myDiv').innerText = pdfresult;
//doc.save('a4.pdf');
return pdfresult;
}
</script>
</head>
<body>
<div id='myDiv'>Hello</div>
</body>
</html>
WebViewのすべての後
Webview.Navigate(new Uri("ms-appx-web:///Assets/test.html"));
string pdfresult = await Webview.InvokeScriptAsync("eval", new string[] { "print()" });
StorageFile pdf = await ApplicationData.Current.LocalFolder.CreateFileAsync("test.pdf");
await FileIO.WriteTextAsync(pdf, pdfresult);
、あなたはPDFファイル形式を自分で書く考えることができます。 HereはWindows phone用のドキュメントですが、まだ参照している可能性があります。