首页 > 解决方案 > Xcode全屏pdf生成器

问题描述

我正在开发一个 Xcode 10 项目(Swift 4.2),我想生成一个 pdf 的视图内容。我已经看到使用动态文本等完成此操作,但我想生成视图的屏幕截图并将其保存在应用程序中。最简单的方法是什么?

我可以设置一个 HTML 表单,但由于屏幕包含已经以所需格式排列的图像和标签,如果有一种方法可以将视图内容保存为图像并创建该图像的 pdf,那就太好了。这可能吗?

标签: swiftxcodepdfshare

解决方案


如果您可以设置 HTML 页面,您的问题不是 Xcode PDF 生成器,而是“如何将 html 转换为 pdf?”。为此,您可以使用 jsPDF.html()html2canvas 1.0.0-alpha.12.

<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.5.3/jspdf.debug.js" 
        integrity="sha384-NaWTHo/8YCBYJ59830LTz/P4aQZK1sS0SneOgAvhsIl3zBu8r9RevNg5lHCHAuQ/"
        crossorigin="anonymous"></script>
<script src="https://html2canvas.hertzen.com/dist/html2canvas.min.js"></script>
<!-- html2canvas 1.0.0-alpha.11 or higher version is needed -->

<script>
    function onClick() {
        let pdf = new jsPDF('p', 'pt', 'letter');
        pdf.html(document.body, {
            callback: function () {
                pdf.save('test.pdf');
                window.open(pdf.output('bloburl')); // To debug.
            }
        });
    }
</script>

推荐阅读