使用 IRONPDF FOR NODE.JS

如何在 Node.js 中編輯 PDF 文件

發佈 2024年1月27日
分享:

介紹

PDF 文件已成為數位文件的重要元素,因其可靠性和安全性而受到重視。它們在各種平台上保持一致的格式,使其成為許多專業應用的首選。然而,在許多專業情境中,修改或更新現有 PDF 文件的需求十分常見,這反映了數位資訊管理的動態性。Node.js 作為一個強大的 JavaScript 執行環境,可以與 IronPDF 庫結合起來,高效地編輯和操作 PDF 文件。本教程旨在指導初學者如何在 Node.js 中使用 IronPDF 編輯和創建 PDF 文件的基本知識。

理解 IronPDF

如何在Node.js中編輯PDF文件:圖1 - IronPDF for Node.js:Node.js PDF庫

IronPDF 是一個與 Node.js 無縫整合的 PDF 庫,提供了一組驚人的 PDF 操作功能。它讓開發人員能夠創建一個新的簡單 PDF 文件,修改現有的 PDF 文件,添加自定義字體,甚至合併多個 PDF 文件。在深入技術細節之前,了解 IronPDF 的基本原理以及它如何在 Node.js 環境中互動是很重要的。

如何使用 Node.js 庫編輯 PDF

  1. 建立一個新的 Node.js 應用程式。

  2. 使用 npm 安裝 PDF 編輯庫。

  3. 使用 fromFile 方法在應用程式中載入 PDF 文件。

  4. 添加數位簽章、密碼及其他所需的修改。

  5. 使用 SaveAs 方法儲存 PDF 檔案。

設置您的環境

在開始在您的Node.js應用程序中使用PDF之前,您需要設置您的環境。以下是您需要遵循的步驟:

  1. 安裝Node.js:訪問官方的Node.js網站 nodejs.org 並下載並安裝適用於您的操作系統的最新穩定版本的 Node.js。

  2. 創建一個新的專案目錄:打開終端或命令提示符,使用以下命令為您的專案創建一個新的目錄:
   mkdir pdf-editing-project
  1. 導航到專案目錄:使用以下命令切換到專案目錄:
   cd pdf-editing-project
  1. 初始化一個新的 Node.js 專案:在專案目錄中運行以下命令來初始化一個新的 Node.js 專案:
   npm init -y

這將使用默認值創建一個 package.json 文件。

  1. 安裝 PDF 編輯庫:使用 npm 安裝您選擇的 PDF 編輯庫。例如,如果您想使用 "pdf-lib" 庫,請執行以下命令:
   npm install pdf-lib

這將安裝 "pdf-lib" 函式庫並將其添加為 package.json 文件中的依賴項。

  1. 創建應用程序文件:創建一個新的 JavaScript 文件 (例如,app.js) 在你的專案目錄中,並在你最喜歡的程式碼編輯器中開啟它。

你現在已經準備好在你的 Node.js 應用程式中開始編寫程式碼並使用 PDF 編輯庫。祝你編碼愉快。!

請記得參閱您所使用的 PDF 編輯庫的官方文件以獲取詳細的說明和範例。

安裝 Node.js 和 IronPDF

要開始操作 PDF 文件,您需要一個運行正常的 Node.js 環境和已安裝的 IronPDF 庫。本節將引導您完成安裝過程,確保您擁有開始 PDF 操作所需的工具。

第一步:安裝 Node.js

  1. 造訪 Node.js 官方網站 nodejs.org

  2. 下載適用於您的操作系統的最新穩定版 Node.js。

  3. 執行安裝程式並按照提示完成安裝過程。

  4. 要驗證 Node.js 是否正確安裝,請打開終端機或命令提示符並運行以下命令:
   node --version

您應該會看到 Node.js 的版本號碼打印到控制台。

步驟二:安裝 IronPDF

安裝 IronPDF 函式庫,您有兩個選擇:

選項一:使用 npm
  1. 打開終端機或命令提示符。

  2. 瀏覽到你的項目目錄。

  3. 執行以下命令:
   npm install ironpdf
選項2:使用 yarn
  1. 打開終端或命令提示符。

  2. 導航到你的專案目錄。

  3. 執行以下命令:
   yarn add ironpdf

步驟 3:驗證安裝

要驗證 IronPDF 是否正確安裝,您可以建立一個簡單的 Node.js 腳本,使用 IronPDF 執行基本操作,例如生成 PDF 文件。以下是範例:

const IronPDF = require('ironpdf');

async function generatePdf() {
  const html = '<html><body><h1>Hello IronPDF!</h1></body></html>';

  const pdf = await IronPDF.Renderer.RenderHtmlAsPdf(html);

  await pdf.SaveAs('output.pdf');
}

generatePdf();
JAVASCRIPT

將以上代碼保存到一個文件中 (例如,generate-pdf.js)並使用以下命令在 Node.js 中運行:

node generate-pdf.js

如果一切設置正確,您應該會在您的項目目錄中看到一個名為output.pdf的新文件。

恭喜! 您現在已安裝 Node.js 和 IronPDF,準備開始操作 PDF 文件。

分步安裝指南

  1. 安裝 Node.js:首先,從其網站下載並安裝 Node.js 官方網站. 這將同時安裝 npm (節點套件管理器), 這是管理 JavaScript 套件的主要工具。

  2. 添加 IronPDF:安裝 Node.js 之後,使用 npm 安裝 IronPDF。在您的命令行執行 npm install ironpdf

建立您的第一個 JavaScript 文件

完成環境設置後,現在是時候建立您的第一個 JavaScript 文件了。這個文件將作為您 PDF 操作任務的基礎。您可以使用任何 IDE 來建立 JavaScript 文件。

以下是建立 JavaScript 文件的步驟:

  1. 打開您喜歡的整合開發環境(IDE) (集成開發環境) 或文字編輯器。

  2. 創建一個新文件並保存為 .js 擴展名 (例如,pdfManipulation.js).

  3. 在文件中,您可以開始編寫 JavaScript 程式碼來執行所需的 PDF 操作任務。

例如,我們來定義一個向 PDF 添加浮水印的函數:

function addWatermarkToPdf(pdfPath, watermarkText, outputPath) {
  // Code to add the watermark to the PDF
  // ...
}

// Example usage
const pdfPath = 'path/to/input.pdf';
const watermarkText = 'Confidential';
const outputPath = 'path/to/output.pdf';

addWatermarkToPdf(pdfPath, watermarkText, outputPath);
JAVASCRIPT

記得將 pdfPathwatermarkTextoutputPath 替換為你要使用的實際文件路徑和水印文字。

完成代碼撰寫後,你可以儲存該文件並通過在 Node.js 中運行它們或根據你的需求使用任何其他方法來開始測試你的 PDF 操作函數。

祝你編程愉快!

編輯 PDF:了解 IronPDF 的功能

編輯 PDF 內的內容是最常見的任務之一。IronPDF 的編輯功能非常強大,允許對 PDF 文件內的任何類型的修改。

密碼、安全性與元數據

IronPDF確保您的PDF文件不僅安全,還通過適當的元數據進行良好整理。設定密碼是一個簡單的過程,您還可以實施其他安全措施,包括限制打印、複製和編輯PDF文件。元數據在文件管理中起著關鍵作用,使得根據作者、標題和主題等屬性來分類和檢索PDF文件變得更加容易。

import { PdfDocument } from "@ironsoftware/ironpdf";
import { IronPdfGlobalConfig } from "@ironsoftware/ironpdf";

(async function securePDFs() {
  try {
    // Input the license key
    const IronPdfConfig = {
      licenseKey: "Your-License-Key",
    };

    // Load the existing PDF document
    const pdf = await PdfDocument.fromFile("output.pdf");

    // Make PDF read-only
    await pdf.makePdfDocumentReadOnly("readonlypassword");

    // Configure permissions
    const permissions = {
      AllowAnnotations: false,
      AllowExtractContent: false,
      AllowFillForms: false,
      AllowPrint: true,
    };
    await pdf.setPermission(permissions);

    // Change or set the document encryption password
    await pdf.saveAs("securedPDF.pdf", { userPassword: "my-password" });
  } catch (error) {
    // Handle errors here
    console.error("An error occurred:", error);
  }
})();
JAVASCRIPT

如何在 Node.js 中編輯 PDF 文件:圖 2 - 輸出:使用 IronPDF 加密的 securedPDF.pdf 提供密碼保護

數位簽章

IronPDF 支援數位簽章,這對於商業交易中的驗證和信任至關重要。此功能增加了一層認證,確認整個文件的來源和完整性。

import { PdfDocument } from "@ironsoftware/ironpdf";
import { IronPdfGlobalConfig } from "@ironsoftware/ironpdf";

(async function signPDFs() {
  try {
    // Input the license key
    const IronPdfConfig = {
      licenseKey: "Your-License-Key",
    };

    // Step 1. Import a PDF
    const pdf = await PdfDocument.open("output.pdf");

    // Step 2. Sign the PDF with digital certificate
    await pdf.signDigitalSignature({
      certificatePath: "DigitalIronSoftware.pfx",
      certificatePassword: "abcdedf",
      signingReason: "How to sign a PDF",
      signingLocation: "Chicago, USA",
      signatureImage: {
        SignatureImagePath: "logo.png",
      },
    });

    // Step 3. Save the Signed PDF
    await pdf.saveAs("signed.pdf");
  } catch (error) {
    // Handle errors here
    console.error("An error occurred:", error);
  }
})();
JAVASCRIPT

PDF 壓縮

使用 IronPDF,您可以減小 PDF 文件的文件大小,從而更容易共享並且上傳或下載更快。壓縮是管理大量 PDF 文件的關鍵,特別是在儲存空間和帶寬稀缺的情況下。

// Load the existing PDF document
const pdf = await PdfDocument.fromFile("output.pdf");

// Compress images with quality parameter varies (1-100)
await pdf.compressSize(70);

// Save the compressed PDF
await pdf.saveAs("CompressedPDF.pdf");
JAVASCRIPT

合併兩個或更多PDF

IronPDF 可以將多個 PDF 合併成一個文件。這在匯總報告或將多個文件合併成一個檔案以供分發時特別有用。

import { PdfDocument } from "@ironsoftware/ironpdf";
import { IronPdfGlobalConfig } from "@ironsoftware/ironpdf";

(async function mergePDFs() {
  try {
    // Input the license key
    const IronPdfConfig = {
      licenseKey: "Your-License-Key",
    };

    IronPdfGlobalConfig.setConfig(IronPdfConfig);

    const firstPDF = await PdfDocument.fromFile("firstPDF.pdf");
    const secondPDF = await PdfDocument.fromFile("secondPDF.pdf");

    // Merge the two PDF documents
    const merged = await PdfDocument.mergePdf([firstPDF, secondPDF]);

    // Save the merged PDF
    await merged.saveAs("Merged.pdf");
  } catch (error) {
    // Handle errors here
    console.error("An error occurred:", error);
  }
})();
JAVASCRIPT

刪除特定 PDF 頁面

IronPDF 允許從現有的 PDF 文件中選擇性地刪除頁面,讓您可以根據特定需求或偏好來準備文件。

import { PdfDocument } from "@ironsoftware/ironpdf";
import { IronPdfGlobalConfig } from "@ironsoftware/ironpdf";

(async function removePages() {
  try {
    // Input the license key
    const IronPdfConfig = {
      licenseKey: "Your-License-Key",
    };

    IronPdfGlobalConfig.setConfig(IronPdfConfig);

    // Create a PDF document from the HTML
    const pdfDoc = await PdfDocument.fromFile("output.pdf");

    // Remove pages 2 and 3 (page numbers are zero-based)
    pdfDoc.removePage([1, 2]);

    // Save the modified PDF document
    await pdfDoc.saveAs("pageRemoved.pdf");
  } catch (error) {
    // Handle errors here
    console.error("An error occurred:", error);
  }
})();
JAVASCRIPT

在PDF文件中查找和替換文本

IronPDF提供了在PDF文件中搜索特定文本並進行替換的功能。這在更新信息或修正整個PDF文件中的錯誤時特別方便。

import { PdfDocument } from "@ironsoftware/ironpdf";
import { IronPdfGlobalConfig } from "@ironsoftware/ironpdf";

(async function replaceTextInPDF() {
  try {
    // Input the license key
    const IronPdfConfig = {
      licenseKey: "Your-License-Key",
    };

    IronPdfGlobalConfig.setConfig(IronPdfConfig);

    // Load the PDF document
    const pdf = await PdfDocument.fromFile("input.pdf");

    // Parameters
    const pageIndex = 0; // Page index (zero-based)
    const oldText = "Old Text"; // Text to find
    const newText = "New Text"; // Text to replace

    // Replace text on the specified page
    await pdf.replaceText(oldText, newText, pageIndex);

    // Save the modified PDF document
    await pdf.saveAs("output.pdf");
  } catch (error) {
    // Handle errors here
    console.error("An error occurred:", error);
  }
})();
JAVASCRIPT

如何在 Node.js 中編輯 PDF 文件:圖 3 - 輸出:顯示替換文字 IronPDF Library for .NET7 的 replacedPDF.pdf

在 PDF 文件中添加新內容

使用 IronPDF 將新內容添加到 PDF 頁面上,例如圖像或文本,非常簡單。這可以用於品牌用途、添加頁眉、頁腳、PNG 圖像,甚至水印。

import { PdfDocument } from "@ironsoftware/ironpdf";
import { IronPdfGlobalConfig } from "@ironsoftware/ironpdf";

(async function stampPDFs() {
  try {
    // Input the license key
    const IronPdfConfig = {
      licenseKey: "Your-License-Key",
    };

    IronPdfGlobalConfig.setConfig(IronPdfConfig);

    // Open existing PDF
    const pdfdoc = await PdfDocument.fromFile("output.pdf");

    // Configure the HTML stamp
    const stampOptions = {
      horizontalAlignment: "Center",
      verticalAlignment: "Bottom",
      behindExistingContent: false,
      opacity: 30,
    };

    const html = "<img src='logo.png'/>";

    // Apply the stamp to the PDF
    await pdfdoc.stampHtml(html, { htmlStampOptions: stampOptions });

    // Save the stamped PDF
    await pdfdoc.saveAs("stamped_image.pdf");
  } catch (error) {
    // Handle errors here
    console.error("An error occurred:", error);
  }
})();
JAVASCRIPT

如何在Node.js中編輯PDF文件:圖4 - 輸出:使用IronPDF將新內容蓋印在PDF頁面上

PDF 表單

IronPDF 使 PDF 表單的創建和操作變得簡單,允許在文檔中添加互動元素,如文字欄位、複選框和單選按鈕。用戶可以直接在 PDF 中填寫表單,簡化數據收集和分發流程。

import { PdfDocument } from "@ironsoftware/ironpdf";
import { IronPdfGlobalConfig } from "@ironsoftware/ironpdf";

(async function createPDFsWithForms() {
  try {
    // Input the license key
    const IronPdfConfig = {
      licenseKey: "Your-License-Key",
    };

    IronPdfGlobalConfig.setConfig(IronPdfConfig);

    // Simplified HTML content with fewer form fields
    const formHtml = `
        <html>
            <body>
                <h2>Simple Registration Form</h2>
                <form>
                    Name: <br> 
                    Email: <br> 
                    <p>Age:</p>
                    <p>Favorite Color:</p>
                    <select name='color'>
                        <option value='Red'>Red</option>
                        <option value='Blue'>Blue</option>
                        <option value='Green'>Green</option>
                        <option value='Yellow'>Yellow</option>
                    </select>
                </form>
            </body>
        </html>
    `;

    // Use the same render options
    const options = {
      createPdfFormsFromHtml: true,
    };

    // Render HTML content to a PDF with editable forms
    const pdfdoc = await PdfDocument.fromHtml(formHtml, {
      renderOptions: options,
    });

    // Save the new PDF
    await pdfdoc.saveAs("simpleRegistrationForm.pdf");
  } catch (error) {
    // Handle errors here
    console.error("An error occurred:", error);
  }
})();
JAVASCRIPT

如何在Node.js中編輯PDF檔案:圖5 - 輸出:simpleRegistrationForm.pdf檔案

結論

IronPDF 成為 Node.js 中 PDF 操作的綜合解決方案。從合併 PDF 到保護 PDF,IronPDF 幫助開發人員有效地管理 PDF 文檔。無論是編輯現有的 PDF 還是從零開始創建新的 PDF,IronPDF 都提供了完成這些任務所需的工具,具有效率和準確性。

IronPDF 提供免費試用和各種許可選項,使得用戶可以全面訪問 IronPDF 的所有功能。

在 Node.js 中如何編輯 PDF 文件:圖 6 - IronPDF 許可資訊

下一個 >
如何在Node.js中將PDF轉換為文本

準備開始了嗎? 版本: 2024.9 剛剛發布

免費 npm 安裝 查看許可證 >