JS делает блоб из PDF, созданного HTML - PullRequest
0 голосов
/ 03 июля 2019

Я использую Vue.js и у меня есть шаблон (HTML), который я хочу сделать в PDF, затем взять этот PDF и сделать его для BLOB-объектов, а затем работать с этим BLOB-объектом.В моем примере кода, когда нажата кнопка «Print Form» вызывается функция «printPdf» , остается только одна строка кода «window.print ()» и сразу же вызывается событие "onbeforeprint" .И это то место, где я надеюсь как-то создать PDF, а затем сделать его для блоба.

<template>
    <div class="hello">
        <form method="post"
            action="#"
            id="printJS-form">

            <h1>PDF Test</h1>
            <ul>
                <li><a href="https://router.vuejs.org"
                        target="_blank"
                        rel="noopener">vue-router</a></li>
                <li><a href="https://vuex.vuejs.org"
                        target="_blank"
                        rel="noopener">vuex</a></li>
                <li><a href="https://github.com/vuejs/vue-devtools#vue-devtools"
                        target="_blank"
                        rel="noopener">vue-devtools</a></li>
                <li><a href="https://vue-loader.vuejs.org"
                        target="_blank"
                        rel="noopener">vue-loader</a></li>
                <li><a href="https://github.com/vuejs/awesome-vue"
                        target="_blank"
                        rel="noopener">awesome-vue</a></li>
            </ul>
        </form>
        <button type="button"
            v-on:click="printPdf">
            Print Form
        </button>
    </div>
</template>

<script>

export default {
    name: 'print-pdf-tets',
    props: {
        msg: String
    },
    created() {
        window.onbeforeprint = () => {

            // get PDF and make it to blob

        };
    },
    methods: {
        printPdf() {
            // enters here first, and calls onbeforeprint event
            window.print();
            // close window
        },
    }
}
</script>
<style scoped>
h3 {
    margin: 40px 0 0;
}
ul {
    list-style-type: none;
    padding: 0;
}
li {
    display: inline-block;
    margin: 0 10px;
}
a {
    color: #42b983;
}
</style>

Моя идея состоит не в том, чтобы печатать PDF, а в том, чтобы создать его для BLOB-объектов. Таким образом, вся эта операция будет скрыта от пользователя.И это мой вопрос:

Как создать PDF из HTML, а затем сделать этот PDF для блобинга?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...