Hướng dẫn chi tiết cài đặt và sử dụng thư viện html2pdf cho nuxtjs

folder Kiến thức công nghệ
today 15/10/2024 00:20
html2pdf chuyển đổi bất kỳ trang web hoặc thành phần nào thành PDF có thể in hoàn toàn ở phía máy khách bằng cách sử dụng html2canvas và jsPDF .
huong-dan-chi-tiet-cai-dat-va-su-dung-thu-vien-html2pdf-cho-nuxtjs

Bước 1: Tạo Dự Án Nuxt.js Mới

Nếu bạn chưa có dự án Nuxt.js, bạn có thể tạo một dự án mới :

Chú ý: Có 2 cách để tạo dự án Nuxtjs đó là:

  • npm
  • yarn

Đối với yarn chạy lệnh sau :

yarn create nuxt-app <project-name>

Còn đối với npm thì  tạo dự án bằng cách sử dụng npx:

npx create-nuxt-app servbay-nuxt-app

Bước 2: Cài Đặt Thư Viện html2pdf

Chuyển đến thư mục dự án của bạn và cài đặt html2pdf.js:

npm i html2pdf.js@0.9.0

Bước 3: Tạo file trong Plugins plugins/html2pdf.js

Tạo một file js mới (ví dụ: plugins/html2pdf.) trong thư mục plugins

import Vue from 'vue'
import VueHtml2pdf from 'vue-html2pdf'
Vue.use(VueHtml2pdf)

Bước 4: Sử dụng trong file nuxt.config.js

plugins: [
    { src: '@/plugins/vue-html2pdf', mode: 'client' }
],

Bước 5: Tạo Component Xuất PDF

Tạo một component mới (ví dụ: PdfExport.vue) trong thư mục components:

<template>
   <div>
     <vue-html2pdf
        :show-layout="false"
        :float-layout="true"
        :enable-download="true"
        :preview-modal="true"
        :paginate-elements-by-height="1400"
        filename="hee hee"
        :pdf-quality="2"
        :manual-pagination="false"
        pdf-format="a4"
        pdf-orientation="landscape"
        pdf-content-width="800px"
 
        @progress="onProgress($event)"
        @hasStartedGeneration="hasStartedGeneration()"
        @hasGenerated="hasGenerated($event)"
        ref="html2Pdf"
    >
        <section slot="pdf-content">
            <!-- PDF Content Here -->
        </section>
    </vue-html2pdf>
   </div>
</template>

Bước 6: Sử Dụng Component Trong Trang

Mở tệp pages/index.vue và thêm component PdfExport mà bạn vừa tạo:

<template>
  <div>
    <h1>Chào mừng đến với Nuxt.js</h1>
    <PdfExport />
  </div>
</template>

<script>
import PdfExport from '~/components/PdfExport.vue';

export default {
  components: {
    PdfExport
  }
}
</script>

Bước 7: Chạy Dự Án

Bây giờ, bạn có thể chạy dự án của mình để xem chức năng xuất PDF:

Nếu bạn dùng npm thì chạy lệnh: 

npm run dev

Còn nếu bạn dùng Yarn thì chạy lệnh:

Yarn dev

Mở trình duyệt và truy cập http://localhost:3000. Nội dung trong phần pdf-content sẽ được xuất thành file PDF.

Lưu Ý

  • Đảm bảo rằng các yếu tố mà bạn muốn xuất thành PDF đã được định dạng đúng để chúng có thể hiển thị tốt trong file PDF.
  • Bạn có thể tùy chỉnh các tùy chọn trong đối tượng options để thay đổi cách xuất PDF (kích thước trang, định dạng, v.v.).

Hy vọng hướng dẫn này hữu ích cho bạn! Good luck <3

Bài viết cùng chuyên mục

hatonet

Hướng dẫn cài và sử dụng vue-object-to-formdata cho dự án nuxtjs

today 11/12/2024 22:15
vue-object-to-formdata là một thư viện JavaScript được thiết kế để chuyển đổi một đối tượng JavaScript (Object) thành đối tượng FormData. Đây là một đối tượng có thể dễ dàng sử dụng trong các yêu cầu HTTP để gửi dữ liệu, đặc biệt là khi bạn cần gửi dữ liệu như là một phần của biểu mẫu (form), ví dụ: khi upload file hoặc gửi dữ liệu dưới dạng multipart/form-data.
Xem thêm arrow_right_alt
hatonet

Hướng dẫn cài đặt và sử dụng v-tooltip trong project nuxt js

today 04/12/2024 21:34
v-tooltip là một thư viện Vue.js nhẹ, dễ sử dụng, giúp tạo ra các tooltip (hộp thông báo khi người dùng di chuột qua một phần tử) trong các ứng dụng Vue. Tooltip là một yếu tố giao diện người dùng (UI) thông báo hoặc giải thích ngắn gọn về một đối tượng khi người dùng hover (di chuột) hoặc focus vào phần tử đó.
Xem thêm arrow_right_alt
hatonet

Hướng dẫn cài đặt và sử dụng thư viện Elementjs nuxtjs

today 28/11/2024 23:14
Thư viện Element UI là một bộ thư viện giao diện người dùng mạnh mẽ, cung cấp nhiều thành phần (components) tùy chỉnh sẵn, giúp bạn xây dựng giao diện ứng dụng dễ dàng và nhanh chóng. Đối với Nuxt.js , bạn có thể tích hợp và sử dụng Element UI một cách đơn giản. Dưới đây là hướng dẫn từng bước.
Xem thêm arrow_right_alt

Việc làm tại Hatonet

Actively collaborate with team leads to develop a cohesive vision for each Agent that ensures audience resonance, and successful integration with the existing cast through personality, visual aesthetics, and gameplay Lead, manage, and mentor a high performing, healthy, and collaborative concept art team Work with production to ensure your team’s timely and successful delivery of products Maintain and contribute to artifacts that inform, align, and empower teams to successfully create character concept art in the VALORANT style

  • GWS
  • Trưởng phòng IT
Onsite
vietnam_flag