当前位置:首页 > JavaScript

js实现pdf

2026-03-14 01:06:22JavaScript

使用jsPDF生成PDF

jsPDF是一个流行的JavaScript库,用于在浏览器中生成PDF文件。它支持文本、图像、表格等内容的添加。

安装jsPDF:

npm install jspdf

基础示例代码:

import { jsPDF } from "jspdf";

const doc = new jsPDF();
doc.text("Hello world!", 10, 10);
doc.save("example.pdf");

使用PDFKit生成PDF

PDFKit是另一个强大的JavaScript PDF生成库,适用于Node.js和浏览器环境。

安装PDFKit:

npm install pdfkit

基础示例代码:

const PDFDocument = require('pdfkit');
const fs = require('fs');

const doc = new PDFDocument();
doc.pipe(fs.createWriteStream('output.pdf'));
doc.fontSize(25).text('Some text with an embedded font!', 100, 100);
doc.end();

使用html2pdf.js转换HTML为PDF

html2pdf.js可以将HTML元素直接转换为PDF,适合已有HTML内容的情况。

安装html2pdf.js:

npm install html2pdf.js

基础示例代码:

import html2pdf from 'html2pdf.js';

const element = document.getElementById('content-to-export');
html2pdf().from(element).save();

使用pdf-lib处理现有PDF

pdf-lib适用于读取和修改现有PDF文件,支持添加文本、图像和表单。

安装pdf-lib:

npm install pdf-lib

基础示例代码:

import { PDFDocument } from 'pdf-lib';

async function modifyPdf() {
  const existingPdfBytes = await fetch('existing.pdf').then(res => res.arrayBuffer());
  const pdfDoc = await PDFDocument.load(existingPdfBytes);
  const page = pdfDoc.getPages()[0];
  page.drawText('Added text!', { x: 50, y: 50 });
  const pdfBytes = await pdfDoc.save();
  // 保存或下载处理后的PDF
}

浏览器打印API生成PDF

现代浏览器支持通过打印API将网页内容保存为PDF。

示例代码:

function printToPdf() {
  window.print();
}

CSS媒体查询优化打印样式:

@media print {
  body {
    margin: 0;
    padding: 0;
  }
  .no-print {
    display: none;
  }
}

服务端生成PDF(Node.js)

在Node.js环境中,可以使用puppeteer将网页转换为PDF。

安装puppeteer:

npm install puppeteer

示例代码:

js实现pdf

const puppeteer = require('puppeteer');

async function generatePDF() {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('https://example.com', {waitUntil: 'networkidle0'});
  await page.pdf({path: 'example.pdf', format: 'A4'});
  await browser.close();
}

标签: jspdf
分享给朋友:

相关文章

js实现轮播

js实现轮播

实现基础轮播效果 使用HTML结构创建轮播容器和图片元素: <div class="carousel"> <div class="carousel-inner">…

js实现vue

js实现vue

Vue.js 简介 Vue.js 是一个渐进式 JavaScript 框架,用于构建用户界面。其核心库专注于视图层,易于与其他库或现有项目整合。 实现 Vue.js 的基本步骤 安装 Vue.j…

js实现图片预览

js实现图片预览

使用FileReader API实现图片预览 通过FileReader对象读取用户选择的图片文件并显示预览: const input = document.getElementById('image…

js实现论坛

js实现论坛

实现论坛的基本功能 使用JavaScript实现一个论坛需要结合前端和后端技术。前端可以使用React、Vue或Angular等框架,后端可以选择Node.js配合Express或Koa框架。数据库可…

js钟表实现

js钟表实现

实现JavaScript钟表的基本方法 创建一个简单的JavaScript钟表可以通过以下步骤完成,涵盖数字和模拟两种形式。 数字钟表实现 HTML结构只需一个显示时间的容器: <div i…

vue实现js休眠

vue实现js休眠

实现 JavaScript 休眠的方法 在 Vue 中实现 JavaScript 休眠(延迟执行)可以通过以下方式实现。由于 JavaScript 本身没有内置的 sleep 函数,通常使用 Prom…