푸터 콘텐츠로 바로가기
제품 비교

Node.js용 PDFKit npm과 IronPDF 비교

이 튜토리얼에서는 JavaScript PDF 라이브러리 분야에서 널리 알려진 IronPDF의 JavaScript SDKPDFKit 에 대해 자세히 살펴보겠습니다. 둘 다 Node.js 프로젝트에 적합한 훌륭한 선택이지만, 각각 장단점이 있습니다.

이 글의 목적은 IronPDF 와 PDFKit 도구가 개발자의 Node.js 워크플로에 어떻게 적용될 수 있는지 독자들에게 실질적인 감을 제공하는 것입니다. 간단한 PDF 파일을 만들든 복잡한 레이아웃을 다루든, IronPDF 와 PDFKit의 기능과 한계를 이해하는 것은 매우 중요합니다.

PDFKit

PDFKit은 Node.js 및 브라우저 환경을 위한 고급 JavaScript PDF 생성 라이브러리입니다. 이 소프트웨어는 다양한 도구를 제공하여 여러 페이지로 구성된 인쇄 가능한 문서를 손쉽게 제작할 수 있도록 해줍니다. 이 라이브러리는 사용하기 쉽도록 설계되어 복잡한 문서를 생성하는 과정을 간소화합니다.

PDFKit은 강력한 벡터 그래픽 기능, 광범위한 텍스트 및 글꼴 스타일링 옵션, 이미지 삽입 기능, 그리고 대화형 및 보안 PDF 문서 지원 기능을 통해 두각을 나타냅니다. 사용이 간편할 뿐만 아니라 서버 측 환경과 브라우저 환경 모두에서 사용할 수 있는 다재다능함 덕분에 다양한 애플리케이션에서 사용자 지정 PDF를 생성해야 하는 개발자에게 유용한 도구입니다.

PDFKit의 주요 기능

  • 유연한 PDF 생성

    PDFKit은 HTML을 PDF로 변환하는 방식에 의존하지 않습니다. 대신 JavaScript 코드를 통해 PDF를 직접 생성합니다. 이러한 접근 방식을 통해 개발자는 자신이 생성하는 PDF 파일의 레이아웃, 스타일 및 콘텐츠를 정밀하게 제어할 수 있으므로 복잡한 문서를 더 쉽게 생성할 수 있습니다.

  • 그래픽 및 텍스트 서식

    이 라이브러리는 선, 곡선, 사각형, 원 등을 포함한 고급 그래픽 기능을 지원합니다. 사용자 지정 글꼴, 크기 및 색상과 같은 텍스트 서식 기능을 통해 시각적으로 매력적인 문서를 만들 수 있습니다.

  • 이미지 삽입 및 벡터 그래픽

    PDFKit은 다양한 형식의 이미지를 삽입할 수 있도록 지원하며 벡터 그래픽도 지원하므로 고품질 인쇄 문서 제작에 이상적입니다. 이미지 삽입은 JPEG 및 PNG 파일을 지원합니다.

  • 고급 문서 기능

    개발자는 PDF에 주석, 책갈피 및 하이퍼링크를 추가할 수 있습니다. 이 라이브러리는 머리글과 바닥글 생성은 물론 페이지 번호 및 사용자 지정 JavaScript 포함도 지원합니다.

  • 사용자 정의 및 재사용 가능한 구성 요소

    PDFKit API는 재사용 가능한 구성 요소 생성을 용이하게 하여 송장이나 보고서와 같이 구조가 반복적인 문서의 개발 프로세스를 간소화합니다.

  • 벡터 그래픽

    PDFKit은 경로 작업, SVG 경로 구문 분석, 변환 및 그라디언트를 포함한 벡터 그래픽을 위한 HTML5 캔버스와 유사한 API를 제공합니다. 이는 PDF에서 확장 가능하고 고품질의 그래픽을 제작하는 데 이상적입니다. 이 라이브러리는 줄 바꿈, 다양한 텍스트 정렬 및 글머리 기호 목록을 지원합니다.

  • 내장 글꼴

    PDFKit은 TrueType, OpenType, WOFF 등 다양한 글꼴 형식을 지원하여 PDF에서 일관된 타이포그래피를 구현할 수 있도록 합니다. 글꼴 부분집합 추출 기능도 제공되어 문서 크기를 관리 가능한 수준으로 유지할 수 있습니다.

IronPDF Node.js

IronPDF 사용하면 HTML 문자열, 파일 또는 전체 웹 페이지까지 원본 콘텐츠와 똑같이 보이는 PDF로 쉽게 변환할 수 있으며, CSS 스타일과 이미지까지 완벽하게 포함할 수 있습니다. 이는 웹 디자인에서 지정한 브랜딩과 레이아웃을 유지해야 하는 송장, 계약서, 보고서와 같은 전문적인 문서를 제공하는 데 매우 중요합니다.

Node.js 용 IronPDF 의 주요 기능

HTML을 PDF로 변환

IronPDF HTML 콘텐츠를 고품질 PDF 문서로 변환하는 데 탁월합니다. 이 제품의 기능은 다음과 같습니다.

  • HTML 문자열을 PDF로 변환: 이 기능을 사용하면 동적 HTML 문자열을 PDF로 직접 변환할 수 있습니다.
  • HTML 파일을 PDF로 변환: 이 기능을 사용하면 정적 HTML 파일을 레이아웃과 스타일을 그대로 유지하면서 PDF 형식으로 원활하게 변환할 수 있습니다.
  • URL을 PDF로 변환: IronPDF URL을 통해 전체 웹 페이지를 캡처하여 PDF로 변환할 수 있으므로, 보관 및 오프라인 액세스에 적합합니다.

PDF 서식 지정

IronPDF HTML 콘텐츠에서 생성된 PDF를 사용자 정의하고 향상시킬 수 있는 포괄적인 서식 도구를 제공합니다. 예를 들면 다음과 같습니다.

  • HTML의 JavaScript PDF로 변환: IronPDF 변환 전에 HTML 내에서 JavaScript 실행할 수 있으므로 동적 데이터 또는 대화형 요소를 PDF의 정적 형식으로 렌더링할 수 있습니다.
  • IronPDF 이용한 바코드 삽입 : IronPDF PDF 문서 내에 바코드를 삽입하는 기능을 지원합니다. 이 기능은 물류, 소매 및 재고 관리 분야에서 사용되는 문서에 필수적입니다.
  • 페이지 템플릿 적용: 페이지 템플릿을 적용하여 문서의 모양과 느낌을 표준화하세요. 페이지 템플릿은 여러 PDF 파일에서 일관성을 유지하는 데 사용되는 미리 정의된 레이아웃입니다.
  • HTML의 사용자 지정 글꼴을 PDF로 변환: IronPDF HTML 콘텐츠에서 사용자 지정 글꼴을 PDF에 직접 삽입할 수 있도록 지원하여 모든 문서에서 브랜드와 디자인의 일관성을 보장합니다.

페이지 콘텐츠 편집

IronPDF는 광범위한 편집 기능을 제공하여 기존 PDF를 특정 요구 사항에 맞게 수정할 수 있도록 합니다.

  • PDF 문서의 텍스트 찾기 및 바꾸기 : 이 기능을 사용하면 PDF 문서 내에서 텍스트를 검색하고 바꿀 수 있어 업데이트 및 수정 작업을 간편하게 수행할 수 있습니다.
  • PDF에 HTML 콘텐츠 추가 : 사용자는 기존 PDF에 HTML 콘텐츠를 삽입할 수 있습니다. 이 기능은 추가 콘텐츠가 문서의 성능이나 로딩 시간에 영향을 미치지 않도록 최적화되어 있습니다.
  • PDF에 새 콘텐츠 삽입 : IronPDF 기존 PDF 페이지에 새 콘텐츠를 삽입하거나 덮어쓸 수 있습니다. 이 기능은 공식 워터마크, 기밀 스탬프를 추가하거나 기존 문서의 정보를 업데이트하는 데 유용합니다.

PDF 양식을 사용하세요

IronPDF PDF 양식의 생성 및 조작을 지원하며, PDF 내에 상호작용 요소를 포함할 수 있도록 합니다.

PDF 양식: 디지털 방식으로 작성할 수 있는 양식을 생성하여 기업이 데이터 수집 프로세스를 자동화할 수 있도록 지원합니다. IronPDF 사용하면 프로그래밍 방식으로 양식을 생성하고, 필드를 채우고, 정보를 검색할 수도 있어 워크플로를 간소화하고 수동 데이터 입력을 줄일 수 있습니다.

크로스 플랫폼 호환성

IronPDF 다양한 플랫폼을 지원하므로 여러 개발 환경에서 다용도로 활용할 수 있습니다. Node.js 버전 12.0 이상과 호환되며 Windows, Linux, Mac 및 Docker에서 사용할 수 있습니다.

사용자 경험 및 접근성

  • 간편한 설치: IronPDF 는 간단한 npm 또는 yarn 명령어를 사용하여 손쉽게 설치할 수 있습니다. 라이브러리 운영에 필수적인 IronPDF 엔진은 처음 실행 시 자동으로 다운로드됩니다.
  • 빠른 시작을 위한 샘플 코드: 이 라이브러리는 HTML을 PDF로 변환하는 것과 같은 다양한 기능에 대한 샘플 코드 조각을 제공하여 개발자의 구현 과정을 간소화합니다.

Visual Studio Code에서 JavaScript 프로젝트 생성하기

개발 환경 설정하기

PDF 생성 작업을 시작하기 전에 먼저 프로젝트 환경을 설정해야 합니다. Visual Studio Code(VS Code)는 이를 위한 이상적이고 사용자 친화적인 플랫폼을 제공합니다. 먼저 VS Code를 실행하고 새 JavaScript 프로젝트를 생성하세요. 새 프로젝트 폴더를 만들고 VS Code에서 열면 이 작업을 수행할 수 있습니다. 이 환경은 여러분이 코드를 작성하고 프로젝트 파일을 관리하는 곳입니다.

프로젝트 초기화

VS Code에서 폴더를 열었으면 다음 단계는 새 JavaScript 프로젝트를 초기화하는 것입니다. VS Code에서 통합 터미널을 열고(일반적으로 메뉴의 터미널 > 새 터미널에서 찾을 수 있음) npm init을 입력합니다. 이 명령은 프로젝트의 종속성 및 메타데이터 관리를 위해 중요한 package.json 파일을 만드는 과정을 안내합니다.

IronPDF 라이브러리를 설치하세요

프로젝트에 IronPDF 추가하기

Java JavaScript 프로젝트 설정이 완료되었으면 이제 IronPDF 라이브러리를 설치할 차례입니다. VS Code 터미널에서 다음 명령을 실행하세요.

npm install ironpdf
npm install ironpdf
SHELL

이 명령은 IronPDF 라이브러리를 가져와 설치하고 프로젝트의 종속성에 추가합니다.

설치 확인

설치 후, IronPDF가 package.json 파일의 종속성 섹션에 나열되어 있는지 확인하세요. 이를 통해 IronPDF 프로젝트에 올바르게 통합되어 원활한 PDF 생성 및 조작이 가능해집니다.

PDFKit npm & IronPDF For Node.js 간의 비교: 그림 1

PDFKit 라이브러리를 설치하세요

PDFKit 통합

다음은 강력하고 다재다능한 PDF 문서 생성 라이브러리인 PDFKit입니다. PDFKit을 프로젝트에 추가하려면 VS Code 터미널에서 다음 명령을 실행하세요.

npm install pdfkit
npm install pdfkit
SHELL

이렇게 하면 PDFKit이 설치되고 프로젝트의 종속성에 추가됩니다.

올바른 설정 확인

설치가 완료되면 package.json 파일의 dependencies에 PDFKit이 나타나는지 확인하십시오. 이 확인은 복잡하고 상세하며 시각적으로 매력적인 PDF 파일을 생성하는 데 필요한 도구가 프로젝트에 갖춰졌음을 확인하는 데 매우 중요합니다.

PDFKit npm & IronPDF For Node.js 간의 비교: 그림 2

IronPDF 와 PDFKit의 HTML-PDF 변환 기능 비교

IronPDF HTML을 PDF로 변환

Node.js 용 IronPDF HTML을 PDF로 변환하는 데 탁월하며 개발자에게 효율적인 솔루션을 제공합니다. 이 라이브러리는 CSS 스타일 렌더링, JavaScript 실행, 사용자 지정 헤더 및 푸터 통합과 같은 복잡한 작업을 처리하는 데 능숙합니다. 이러한 기능들은 HTML 소스에서 전문가 수준의 PDF를 생성하는 능력을 크게 향상시켜 줍니다. Node.js 용 IronPDF 이러한 변환 프로세스를 위한 세 가지 편리한 방법을 제공합니다.

  1. HTML 문자열을 PDF로 변환
  2. HTML 파일을 PDF로 변환
  3. URL을 PDF로 변환: 이 고유한 기능을 사용하면 웹 페이지의 URL만으로 웹 페이지를 PDF로 변환할 수 있습니다. 이는 온라인 콘텐츠를 실시간으로 PDF 형식으로 저장하는 효율적인 방법입니다.

HTML 문자열을 PDF로 변환

이 방법을 사용하면 개발자는 HTML 코드 문자열을 PDF 파일로 직접 변환할 수 있습니다. 이 기능은 동적 콘텐츠 생성과 관련된 시나리오에서 매우 유용합니다. 맞춤형 보고서를 작성하든, 즉시 송장을 생성하든, 세련되고 전문적인 형식으로 데이터 기반 콘텐츠를 제공해야 하든, 이 기능은 프로세스를 간소화합니다.

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

(async function createPDFs() {
  try {
    // Input the license key
    const IronPdfConfig = {
      licenseKey: "Your-License-Key",
    };
    // Set the config with the license key
    IronPdfGlobalConfig.setConfig(IronPdfConfig);
    // Create a PDF from the HTML String
    const pdf = await PdfDocument.fromHtml(
      "<h1>Hello JavaScript Developers! This is an Example PDF created with IronPDF Node.js!</h1>"
    );
    // Save the PDF document to the file system.
    await pdf.saveAs("HtmlStringToPDF.pdf");
  } catch (error) {
    // Handle errors here
    console.error("An error occurred:", error);
  }
})();
import { PdfDocument, PdfGenerator } from "@ironsoftware/ironpdf";
import { IronPdfGlobalConfig } from "@ironsoftware/ironpdf";
import fs from "fs";

(async function createPDFs() {
  try {
    // Input the license key
    const IronPdfConfig = {
      licenseKey: "Your-License-Key",
    };
    // Set the config with the license key
    IronPdfGlobalConfig.setConfig(IronPdfConfig);
    // Create a PDF from the HTML String
    const pdf = await PdfDocument.fromHtml(
      "<h1>Hello JavaScript Developers! This is an Example PDF created with IronPDF Node.js!</h1>"
    );
    // Save the PDF document to the file system.
    await pdf.saveAs("HtmlStringToPDF.pdf");
  } catch (error) {
    // Handle errors here
    console.error("An error occurred:", error);
  }
})();
JAVASCRIPT

여기에서 코드 실행 결과를 확인할 수 있습니다.

PDFKit npm & IronPDF For Node.js 간의 비교: 그림 3

HTML 파일을 PDF로 변환하기

이 기능을 사용하면 개발자는 기존 HTML 파일을 PDF로 변환할 수 있습니다. 이 기능은 특히 정적 HTML 문서를 처리하는 데 유용합니다. 미리 디자인된 웹 페이지, 표준화된 양식 또는 정보 브로셔 등 어떤 자료를 사용하든 이 기능을 통해 간편하게 PDF로 변환할 수 있습니다.

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

(async function createPDFs() {
  try {
    // Input the license key
    const IronPdfConfig = {
      licenseKey: "Your-License-Key",
    };
    // Set the config with the license key
    IronPdfGlobalConfig.setConfig(IronPdfConfig);
    // Create a PDF from the HTML File"
    const pdf = await PdfDocument.fromFile("invoice.html");
    // Save the PDF document to the file system.
    await pdf.saveAs("invoice.pdf");
  } catch (error) {
    // Handle errors here
    console.error("An error occurred:", error);
  }
})();
import { PdfDocument } from "@ironsoftware/ironpdf";
import { IronPdfGlobalConfig } from "@ironsoftware/ironpdf";
import fs from "fs";

(async function createPDFs() {
  try {
    // Input the license key
    const IronPdfConfig = {
      licenseKey: "Your-License-Key",
    };
    // Set the config with the license key
    IronPdfGlobalConfig.setConfig(IronPdfConfig);
    // Create a PDF from the HTML File"
    const pdf = await PdfDocument.fromFile("invoice.html");
    // Save the PDF document to the file system.
    await pdf.saveAs("invoice.pdf");
  } catch (error) {
    // Handle errors here
    console.error("An error occurred:", error);
  }
})();
JAVASCRIPT

다음은 생성된 송장 PDF 파일입니다.

PDFKit npm & IronPDF For Node.js 간의 비교: 그림 4

URL을 PDF로 변환

이 기능을 사용하면 웹 페이지의 URL만으로 웹 페이지를 PDF로 변환할 수 있습니다. 이 기능은 특히 온라인 실시간 콘텐츠를 캡처하는 데 유용합니다. 웹 페이지 아카이빙, 온라인 기사의 오프라인 사본 생성, 웹 기반 데이터에서 보고서 생성 등 어떤 작업이든 이 기능은 손쉽게 처리합니다.

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

(async function createPDFs() {
  try {
    // Input the license key
    const IronPdfConfig = {
      licenseKey: "Your-License-Key",
    };
    // Set the config with the license key
    IronPdfGlobalConfig.setConfig(IronPdfConfig);
    // URL of the web page to convert to PDF
    const url = "https://en.wikipedia.org/wiki/PDF";
    // Convert the Web Page to a pixel-perfect PDF file.
    const urlPDF = await PdfDocument.fromUrl(url);
    // Save the document.
    await urlPDF.saveAs("UrlToPdf.pdf");
  } catch (error) {
    // Handle errors here
    console.error("An error occurred:", error);
  }
})();
import { PdfDocument } from "@ironsoftware/ironpdf";
import { IronPdfGlobalConfig } from "@ironsoftware/ironpdf";
import fs from "fs";

(async function createPDFs() {
  try {
    // Input the license key
    const IronPdfConfig = {
      licenseKey: "Your-License-Key",
    };
    // Set the config with the license key
    IronPdfGlobalConfig.setConfig(IronPdfConfig);
    // URL of the web page to convert to PDF
    const url = "https://en.wikipedia.org/wiki/PDF";
    // Convert the Web Page to a pixel-perfect PDF file.
    const urlPDF = await PdfDocument.fromUrl(url);
    // Save the document.
    await urlPDF.saveAs("UrlToPdf.pdf");
  } catch (error) {
    // Handle errors here
    console.error("An error occurred:", error);
  }
})();
JAVASCRIPT

다음은 해당 URL에서 생성된 PDF 파일입니다.

PDFKit npm & IronPDF For Node.js 간의 비교: 그림 5

PDFKit HTML을 PDF로 변환

PDFKit은 IronPDF 처럼 HTML을 PDF로 변환하는 데 주로 사용되는 도구는 아니지만, JavaScript 코드를 통해 직접 PDF 문서를 생성하는 방법을 제공합니다. 다음은 간단한 PDF 파일을 만드는 방법을 보여주는 예시입니다.

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

let doc = new PDFDocument();
doc.pipe(fs.createWriteStream('output.pdf'));
doc.fontSize(25)
   .text('PDFKit - Text to PDF Example', 100, 100);
doc.end();
const PDFDocument = require('pdfkit');
const fs = require('fs');

let doc = new PDFDocument();
doc.pipe(fs.createWriteStream('output.pdf'));
doc.fontSize(25)
   .text('PDFKit - Text to PDF Example', 100, 100);
doc.end();
JAVASCRIPT

이 코드 조각은 텍스트 제목이 포함된 PDF 파일을 생성합니다. PDFKit은 HTML을 PDF로 직접 변환하지는 않지만, 텍스트 배치 및 서식을 세밀하게 제어할 수 있도록 해줍니다.

다음은 PDFKit에서 생성된 출력 파일입니다.

PDFKit npm & IronPDF For Node.js 간의 비교: 그림 6

유연성 및 고급 기능

IronPDF Node.js

암호, 보안 및 메타데이터 : IronPDF 다양한 기능을 통해 개발자가 PDF 파일의 보안을 강화할 수 있도록 지원합니다. 이 기능은 비밀번호 설정을 허용하여 사용자가 문서를 보려면 비밀번호를 입력해야 하므로 보안을 강화합니다. 또한 IronPDF PDF 내에 작성자 정보, 제목, 키워드 등의 메타데이터를 삽입할 수 있는 기능을 제공하여 문서 관리 및 구성을 향상시킵니다.

import { PdfDocument } from "@ironsoftware/ironpdf";
(async () => {
  // Import a PDF document or create a new PDF from Html
  const pdf = await PdfDocument.open("encrypted.pdf", "password");
  // Create an empty Map
  const newMetadata = new Map();
  // Add key-value pairs of metadata
  newMetadata.set("Author", "Satoshi Nakamoto");
  newMetadata.set("Keywords", "SEO, Friendly");
  await pdf.overrideMetadata(newMetadata);
  await pdf.removePasswordsAndEncryption();
  // Make PDF read-only
  await pdf.makePdfDocumentReadOnly("secret-key");
  // 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("secured.pdf", {
    ownerPassword: "top-secret",
    userPassword: "my-password",
  });
})();
import { PdfDocument } from "@ironsoftware/ironpdf";
(async () => {
  // Import a PDF document or create a new PDF from Html
  const pdf = await PdfDocument.open("encrypted.pdf", "password");
  // Create an empty Map
  const newMetadata = new Map();
  // Add key-value pairs of metadata
  newMetadata.set("Author", "Satoshi Nakamoto");
  newMetadata.set("Keywords", "SEO, Friendly");
  await pdf.overrideMetadata(newMetadata);
  await pdf.removePasswordsAndEncryption();
  // Make PDF read-only
  await pdf.makePdfDocumentReadOnly("secret-key");
  // 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("secured.pdf", {
    ownerPassword: "top-secret",
    userPassword: "my-password",
  });
})();
JAVASCRIPT

PDF 암호화 및 복호화: 암호화와 복호화는 문서 보안에 필수적인 요소이며, IronPDF 이를 손쉽게 처리합니다. 이 서비스는 간단한 비밀번호 보호부터 고급 암호화 표준에 이르기까지 다양한 수준의 암호화를 제공하여 중요한 정보가 안전하게 보호되도록 합니다. 암호 해독 기능 또한 강력하여, 권한이 있는 사용자에게 암호화된 문서에 접근하고 수정할 수 있는 수단을 제공합니다.

디지털 서명: 디지털 문서 시대에 진위성과 무결성은 무엇보다 중요합니다. IronPDF의 디지털 서명 기능은 사용자가 PDF에 디지털 서명을 할 수 있도록 해줍니다. 이는 문서 작성자의 신원을 확인할 뿐만 아니라 서명 이후 문서가 변경되지 않았음을 나타내어 문서의 진위성을 보장합니다.

import { PdfDocument } from "@ironsoftware/ironpdf";
(async () => {
  // Step 1. Import a PDF
  const pdf = await PdfDocument.open("sample.pdf");
  // Step 2. Sign the PDF with digital certificate
  await pdf.signDigitalSignature({
    certificatePath: "IronSoftware.pfx",
    certificatePassword: "123456",
    signingReason: "To show how to sign a PDF",
    signingLocation: "Chicago, USA",
    signatureImage: {
      SignatureImagePath: "logo.png",
    },
  });
  // Step 3. The PDF is not signed until saved to file.
  await pdf.saveAs("signed.pdf");
})();
import { PdfDocument } from "@ironsoftware/ironpdf";
(async () => {
  // Step 1. Import a PDF
  const pdf = await PdfDocument.open("sample.pdf");
  // Step 2. Sign the PDF with digital certificate
  await pdf.signDigitalSignature({
    certificatePath: "IronSoftware.pfx",
    certificatePassword: "123456",
    signingReason: "To show how to sign a PDF",
    signingLocation: "Chicago, USA",
    signatureImage: {
      SignatureImagePath: "logo.png",
    },
  });
  // Step 3. The PDF is not signed until saved to file.
  await pdf.saveAs("signed.pdf");
})();
JAVASCRIPT

PDF 압축: IronPDF 효율적인 문서 저장과 신속한 공유의 필요성을 인식하고 있습니다. 이 프로그램에는 파일 크기를 크게 줄여주는 PDF 압축 기능이 포함되어 있어 저장 공간을 최적화하고 PDF 콘텐츠의 품질과 무결성을 손상시키지 않고 문서 전송 속도를 높이는 데 매우 중요합니다.

import { PdfDocument } from "@ironsoftware/ironpdf";
(async () => {
  // Load the existing PDF document
  const pdf = await PdfDocument.fromFile("my-content.pdf");
  // Compress images with quality parameter (1-100)
  await pdf.compressSize(60);
  // Save the compressed PDF
  await pdf.saveAs("document_compressed.pdf");
  // Compress images and scale down based on visible size in the PDF document
  await pdf.compressSize(90, true);
  // Save the scaled and compressed PDF
  await pdf.saveAs("document_scaled_compressed.pdf");
})();
import { PdfDocument } from "@ironsoftware/ironpdf";
(async () => {
  // Load the existing PDF document
  const pdf = await PdfDocument.fromFile("my-content.pdf");
  // Compress images with quality parameter (1-100)
  await pdf.compressSize(60);
  // Save the compressed PDF
  await pdf.saveAs("document_compressed.pdf");
  // Compress images and scale down based on visible size in the PDF document
  await pdf.compressSize(90, true);
  // Save the scaled and compressed PDF
  await pdf.saveAs("document_scaled_compressed.pdf");
})();
JAVASCRIPT

두 개 이상의 PDF 병합: IronPDF 여러 PDF 문서를 하나의 파일로 병합하는 간편한 솔루션을 제공합니다. 이 기능은 보고서, 계약서 또는 여러 양식과 같은 다양한 문서를 결합하는 데 매우 유용하며, 문서 관리 및 배포를 훨씬 효율적으로 만들어 줍니다.

특정 PDF 페이지 제거: PDF 도구에 있어 편집의 유연성은 매우 중요하며, IronPDF PDF 문서에서 특정 페이지를 제거할 수 있는 기능을 제공합니다. 이는 특히 다양한 독자층에 맞춰 콘텐츠를 조정하거나 불필요한 페이지를 삭제하여 더욱 간결한 문서를 만들 때 유용합니다.

PDFKit 고급 기능 및 확장성

사용자 정의 가능한 레이아웃 엔진: PDFKit은 사용자 정의 가능한 레이아웃 엔진을 제공하여 개발자가 텍스트 위치 지정부터 복잡한 그래픽 요소에 이르기까지 PDF 레이아웃의 모든 측면을 제어할 수 있도록 합니다.

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

let doc = new PDFDocument({ margin: 50 });
// Custom layouts
doc.text('Customized Layout Text', {
  align: 'center',
  valign: 'center',
});
doc.end();
doc.pipe(fs.createWriteStream('custom-layout.pdf'));
const PDFDocument = require('pdfkit');
const fs = require('fs');

let doc = new PDFDocument({ margin: 50 });
// Custom layouts
doc.text('Customized Layout Text', {
  align: 'center',
  valign: 'center',
});
doc.end();
doc.pipe(fs.createWriteStream('custom-layout.pdf'));
JAVASCRIPT

이 예제에서는 중심에 텍스트가 위치한 사용자 정의 레이아웃을 생성하기 위해 PDFDocument을 사용합니다.

고급 그래픽 및 텍스트 기능: PDFKit은 고급 그래픽 및 텍스트 기능을 제공하여 PDF 파일 내에서 정교한 디자인과 스타일링을 구현할 수 있도록 합니다. 이 기능을 사용하면 도형을 그리고 이미지와 SVG를 추가할 수 있습니다. 텍스트와 관련하여 PDFKit은 기본 텍스트 상자부터 고급 타이포그래피 제어에 이르기까지 모든 레이아웃 옵션을 제공하여 각 페이지의 레이아웃을 구상한 대로 정확하게 구현할 수 있도록 합니다.

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

let doc = new PDFDocument();
// Advanced graphics
doc.moveTo(100, 150)
   .lineTo(100, 250)
   .lineTo(200, 250)
   .fill("#FF3300");
// Advanced text
doc.fontSize(15)
   .font('Times-Roman')
   .text('Advanced Text Features', 100, 300);
doc.end();
doc.pipe(fs.createWriteStream('advanced-graphics-text.pdf'));
const PDFDocument = require('pdfkit');
const fs = require('fs');

let doc = new PDFDocument();
// Advanced graphics
doc.moveTo(100, 150)
   .lineTo(100, 250)
   .lineTo(200, 250)
   .fill("#FF3300");
// Advanced text
doc.fontSize(15)
   .font('Times-Roman')
   .text('Advanced Text Features', 100, 300);
doc.end();
doc.pipe(fs.createWriteStream('advanced-graphics-text.pdf'));
JAVASCRIPT

PDFKit npm & IronPDF For Node.js 간의 비교: 그림 7

스트림 및 버퍼 처리: PDFKit은 스트림 및 버퍼 처리에 탁월하여 대용량 PDF 파일과 그 데이터를 효율적으로 관리할 수 있습니다.

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

let doc = new PDFDocument();
let buffers = [];
let writableStream = new stream.Writable();
writableStream._write = (chunk, encoding, done) => {
  buffers.push(chunk);
  done();
};

doc.pipe(writableStream);
doc.text('Streaming PDF Content');
doc.end();
writableStream.on('finish', () => {
  let pdfData = Buffer.concat(buffers);
  fs.writeFileSync('streamed.pdf', pdfData);
});
const PDFDocument = require('pdfkit');
const fs = require('fs');
const stream = require('stream');

let doc = new PDFDocument();
let buffers = [];
let writableStream = new stream.Writable();
writableStream._write = (chunk, encoding, done) => {
  buffers.push(chunk);
  done();
};

doc.pipe(writableStream);
doc.text('Streaming PDF Content');
doc.end();
writableStream.on('finish', () => {
  let pdfData = Buffer.concat(buffers);
  fs.writeFileSync('streamed.pdf', pdfData);
});
JAVASCRIPT

사용자 정의 가능한 머리글 및 바닥글: 전문가 수준의 PDF를 제작하려면 세부 사항에 주의를 기울여야 합니다. PDFKit의 사용자 정의 가능한 머리글 및 바닥글 기능을 사용하면 페이지 상단과 하단에 텍스트와 그래픽을 정확하게 배치할 수 있습니다. 이 기능은 여러 페이지로 구성된 문서 전체에 일관된 브랜딩, 문서 제목 및 페이지 매김을 적용하는 데 특히 유용합니다.

대화형 양식: PDFKit은 PDF 파일 내에서 텍스트 필드, 체크박스 및 라디오 버튼을 생성할 수 있도록 대화형 양식 기능을 확장합니다. 이 기능은 정보를 수집하거나 대화형 콘텐츠를 제공하려는 사용자에게 매우 유용하며, PDF의 사용자 경험과 기능을 향상시켜 줍니다.

문서 및 지원

IronPDF Node.js 문서 및 지원

IronPDF의 설명서는 라이브러리 사용에 대한 포괄적인 가이드를 제공하며, URL을 PDF로 렌더링하거나 HTML 문자열에서 PDF를 생성하는 등의 주요 기능에 대한 자세한 예제를 포함하고 있습니다. 이 프로그램은 용지 크기 및 DPI 설정과 같은 PDF 인쇄 사용자 지정 옵션과 메일 병합 필드가 포함된 머리글 및 바닥글과 같은 문서 모양에 대한 사용자 지정 옵션을 제공합니다. 이 문서에는 사용자 지정 웹 클라이언트 사용, 편집 가능한 PDF 양식 생성, PDF 내 JavaScript 작업과 같은 고급 기능도 다룹니다. 전체 API 문서와 더 많은 예제를 보려면 문서를 참조하세요.

머리글과 바닥글 설정에 있어서 HTML 및 텍스트 옵션 모두 자세히 문서화되어 있으며, 자리 표시자 문자열을 사용하여 메타데이터를 병합할 수 있습니다. 라이선스 세부 정보가 제공되어 사용자가 워터마크를 제거하고 라이선스를 취득하는 방법을 안내합니다. 해당 문서에는 PDF 머리글과 바닥글에 첫 페이지 번호를 설정하는 방법에 대한 정보는 물론, JavaScript, AJAX 또는 애니메이션 렌더링을 고려하여 HTML 렌더링 후 인쇄하기 전에 기다려야 하는 시간에 대한 세부 정보까지 포함되어 있습니다.

지원 옵션

IronPDF 일반적인 문제를 다루고 단계별 해결 방법을 제공하는 문제 해결 가이드 모음이 있습니다. 이는 문제를 해결하려는 사용자에게 첫 번째 방문지가 될 수 있습니다. 보다 복잡한 문제나 안내서를 통해 해결할 수 없는 문제의 경우, IronPDF 기술 지원을 제공합니다. 사용자는 엔지니어링 지원을 요청할 수 있으며, 이 요청에는 지원팀이 문제를 재현하고 해결하는 데 도움이 되도록 플랫폼 또는 런타임 관련 세부 정보와 같은 문제에 대한 자세한 정보를 제공하는 것이 포함될 수 있습니다. 실시간 채팅 옵션을 이용하실 수도 있습니다.

PDFKit 문서 품질 및 가용성

PDFKit의 npm 문서에서는 이 라이브러리를 복잡한 다중 페이지 인쇄 가능 문서를 쉽게 만들 수 있는 도구로 설명합니다. 이 라이브러리는 API의 체인 연결성을 강조하며, 저수준 함수와 고수준 기능을 위한 추상화 계층을 모두 포함하고 있습니다. 복잡한 문서를 생성하는 것도 몇 번의 함수 호출만으로 간단하게 할 수 있도록 설계되었습니다.

문서의 기능 섹션은 벡터 그래픽, 텍스트, 글꼴 삽입, 이미지 삽입, 주석, 양식 생성, 개요 및 PDF 보안을 포함하여 포괄적으로 다루며, 이 모든 기능은 접근성과 보안성을 모두 갖춘 문서를 생성할 수 있는 라이브러리의 역량을 보여줍니다.

지원 옵션

PDFKit은 오픈 소스 라이브러리이기 때문에 커뮤니티의 지원을 받습니다. 문제점 및 기능 요청은 GitHub 저장소를 통해 처리할 수 있으며, 사용자는 코드에 기여하고, 문제를 제출하고, 풀 리퀘스트를 보낼 수 있습니다. PDFKit 커뮤니티는 개발자들이 지식과 ​​해결책을 공유하는 Stack Overflow와 같은 비공식 지원 채널을 제공하기도 합니다.

라이선싱 모델

IronPDF의 라이선스

PDFKit npm & IronPDF For Node.js 간의 비교: 그림 8

IronPDF 상업용 라이선스 모델을 기반으로 운영되므로 개발자 또는 기업은 라이브러리를 프로젝트에서 제한 없이 사용하려면 라이선스를 구매해야 합니다.

Lite: $799로 가격이 책정된 이 일회성 요금은 작은 프로젝트에 적합한 기본 패키지를 제공합니다.

Professional: $1,199에 가격이 책정된 이 티어는 전문적인 사용을 위한 것으로, 더 많은 기능과 역량을 제공합니다.

Unlimited: 무제한 티어는 $2,399로 가격이 책정되며, 모든 기능에 대해 제한 없이 전체 액세스를 제공하여 대규모 배포에 이상적입니다.

IronPDF 개발자가 구매하기 전에 라이브러리를 평가할 수 있도록 무료 평가판 도 제공합니다. 무료 버전이나 프리미엄 버전은 제공되지 않으며, 프리미엄 컨설팅 또는 통합 서비스도 제공되지 않습니다.

PDFKit 라이선스

PDFKit은 MIT 라이선스에 따라 사용할 수 있는 오픈 소스 라이브러리입니다. 이 관대한 라이선스는 소프트웨어의 자유로운 사용, 수정 및 배포를 허용합니다. PDFKit은 오픈 소스 프로젝트이므로 가격 체계가 없습니다. 이 라이브러리는 어떤 프로젝트에도 자유롭게 통합할 수 있으며, 사용자는 GitHub 통해 개발에 참여할 수 있습니다. 본 프로젝트는 기부를 환영하며, 기부는 의무 사항은 아니지만 도서관의 지속적인 발전과 유지 관리에 도움이 됩니다.

결론

결론적으로, IronPDF for Node.js 와 PDFKit은 모두 각 환경에서 강력한 PDF 생성 및 조작 도구 역할을 하지만, Node.js 플랫폼에 최적화된 다양한 기능을 제공하는 IronPDF for Node.js 우위를 점하고 있습니다.

IronPDF는 HTML을 PDF로 변환하는 기능, 고급 편집 기능, JavaScript 및 기타 풍부한 미디어에 대한 포괄적인 지원을 통해 다양한 PDF 처리 작업에 활용할 수 있는 다목적 솔루션입니다. 또한 IronPDF는 보안에 중점을 두고 상세한 문서를 제공하여 개발자에게 필수적인 수준의 신뢰성과 접근성을 보장합니다.

PDFKit은 오픈 소스 소프트웨어이기 때문에 유연성과 사용 편의성을 제공하며, 이는 광범위한 커뮤니티 지원과 소스 코드 수정 기능을 선호하는 개발자들에게 매우 매력적입니다. 특히 오픈소스 솔루션의 비용 효율성을 고려할 때, 그 기능은 매우 인상적입니다.

IronPDF 개발자가 비용을 지불하기 전에 모든 기능을 평가해 볼 수 있도록 무료 평가판을 제공합니다. 또한 Iron Software의 Iron Suite 는 IronPDF 비롯하여 IronXL , IronBarcode , IronQR , IronOCR 등 유용한 개발자 도구를 포함하고 있어 두 제품 가격으로 포괄적인 기능을 제공하는 비용 효율적인 패키지 상품입니다.

궁극적으로 Node.js 용 IronPDF 와 PDFKit 중 어떤 것을 선택할지는 프로젝트의 특정 요구 사항과 개발자 또는 개발팀의 선호도에 달려 있습니다. Node.js 생태계 내에서 풍부한 기능과 광범위한 문서를 찾는 사용자에게 IronPDF for Node.js 는 적합한 선택입니다.

참고해 주세요PDFKit은 해당 소유자의 등록 상표입니다. 이 사이트는 PDFKit과 제휴, 보증 또는 후원 관계가 없습니다. 모든 제품명, 로고 및 브랜드는 해당 소유자의 자산입니다. 비교는 정보 제공 목적으로만 사용되며, 작성 시점에 공개적으로 이용 가능한 정보를 반영합니다.

자주 묻는 질문

Node.js를 사용하여 HTML을 PDF로 변환하는 방법은 무엇인가요?

Node.js 환경에서 IronPDF를 사용하면 HTML을 PDF로 변환할 수 있습니다. IronPDF는 RenderHtmlAsPdf 와 같은 메서드를 제공하여 HTML 문자열이나 파일을 레이아웃과 스타일을 유지하면서 고품질 PDF로 변환합니다.

Node.js 환경에서 IronPDF를 사용하여 PDF를 생성하는 것의 장점은 무엇인가요?

IronPDF는 HTML을 PDF로 변환, JavaScript 실행, 사용자 지정 글꼴 지원, 디지털 서명, PDF 압축 및 보안 기능을 포함하여 Node.js 환경에서 PDF 생성을 위한 고급 기능을 제공합니다.

PDFKit은 HTML을 PDF로 변환하는 데 적합한가요?

PDFKit은 HTML을 PDF로 변환하기 위해 특별히 설계된 도구가 아닙니다. 오히려 JavaScript를 통해 PDF를 직접 생성하는 데 더 적합하며, 고급 벡터 그래픽과 텍스트 서식을 사용한 복잡한 문서 제작에 이상적입니다.

IronPDF와 PDFKit의 주요 차이점은 무엇인가요?

IronPDF는 HTML을 PDF로 변환하는 데 탁월하며, 강력한 보안 기능과 지원을 제공합니다. PDFKit은 JavaScript를 통해 PDF를 생성하는 기능으로 유명하며, 벡터 그래픽과 텍스트 서식 지정에 특화되어 있습니다. 어떤 도구를 선택할지는 HTML 변환이 필요한지 아니면 PDF를 직접 생성해야 하는지에 따라 달라집니다.

IronPDF를 npm을 통해 Node.js와 통합할 수 있나요?

네, IronPDF는 npm을 사용하여 Node.js 프로젝트에 원활하게 통합할 수 있습니다. IronPDF는 PDF 처리를 위한 포괄적인 SDK를 제공하여 개발자가 강력한 기능을 활용해 PDF를 생성하고 편집할 수 있도록 지원합니다.

IronPDF는 PDF 보안 기능을 어떻게 처리하나요?

IronPDF는 디지털 서명, 암호 보호 및 권한 관리와 같은 고급 보안 기능을 지원하므로 보안이 필요한 PDF 문서가 필요한 애플리케이션에 적합합니다.

IronPDF 사용자를 위한 지원 옵션은 무엇인가요?

IronPDF는 포괄적인 문서, 문제 해결 가이드 및 기술 지원 옵션을 제공하여 개발자가 필요할 때 리소스와 지원을 이용할 수 있도록 보장합니다.

IronPDF와 PDFKit은 어떤 라이선스 모델을 제공하나요?

IronPDF는 다양한 등급의 상업용 라이선스 모델로 운영되는 반면, PDFKit은 MIT 라이선스에 따라 오픈 소스로 제공되므로 자유롭게 사용하고 수정할 수 있습니다.

다리우스 세란트
풀스택 소프트웨어 엔지니어 (웹 운영)

다리우스 세런트는 마이애미 대학교에서 컴퓨터 과학 학사 학위를 받았으며, Iron Software에서 풀 스택 웹 운영 마케팅 엔지니어로 근무하고 있습니다. 어린 시절부터 코딩에 매료되었던 그는 컴퓨팅이 신비로우면서도 접근하기 쉬운 분야라고 생각했고, 창의력과 문제 해결 능력을 발휘하기에 완벽한 매체라고 여겼습니다.

Iron Software에서 다리우스는 새로운 것을 만들고 복잡한 개념을 단순화하여 더 쉽게 이해할 수 있도록 하는 것을 즐깁니다. 그는 사내 개발자로서 학생들을 가르치는 데에도 자원하여 차세대 인재들과 전문 지식을 공유하고 있습니다.

다리우스에게 있어 그의 일은 가치 있고 실질적인 영향을 미치기 때문에 보람 있는 일입니다.

아이언 서포트 팀

저희는 주 5일, 24시간 온라인으로 운영합니다.
채팅
이메일
전화해