1. Продукти
  2.   Aspose.PDF
  3.   Aspose.PDF FOSS for TypeScript

Aspose.PDF FOSS для TypeScript

Бібліотека TypeScript з відкритим вихідним кодом для створення, редагування, конвертації, анотування та захисту PDF-документів — з ліцензією MIT, без зовнішніх залежностей.

Aspose.PDF FOSS — Open Source TypeScript PDF-бібліотека

Aspose.PDF FOSS for TypeScript — це бібліотека з відкритим кодом для створення, редагування, конвертування, та захисту PDF-документів у додатках Node.js (>=22). Класи Document та Page є центральними точками входу: Document.OpenFile() / Document.Open() завантажують існуючі файли або байти в пам’яті, Document.New() створює порожній документ, а WriteTo() / Save() записують результат назад, за бажанням з компресією xref-stream. Проєкт є пакетом без зовнішніх залежностей (Node.js — єдина вимога до середовища виконання) і перебуває в активній розробці на ранній стадії (на даний момент версія 0.1.0).

Окрім базового редагування документів і сторінок — розділення, об’єднання, видобування, перестановки та додавання сторінок за допомогою Document.Split(), Document.Merge(), Document.ExtractPages(), і Document.Append() — бібліотека конвертує сторінки та цілі документи в інші формати за допомогою ToHtml(), ToMarkdown(), ToDocx(), ToSvg(), ToImage() і ToEpub(). Підтримка анотацій охоплює виділення, підкреслення, хвилясту лінію, перекреслення, посилання, текстову нотатку, вільний текст та штамп через методи, такі як Page.AddHighlight() і Page.AddStamp(). AcroForm поля (текст, прапорець, радіокнопка, комбобокс, список і кнопка) створюються за допомогою класу Form та його типізованих підкласів Field, а документи можна зашифрувати за допомогою AES-128, AES-256 або RC4, підписати цифровим підписом за допомогою Document.Sign(), і виконати редагування конфіденційної інформації Document.Redact() / Page.ApplyRedactions().

Aspose.PDF FOSS for TypeScript випускається під ліцензією MIT без плат за виконання чи обмежень у використанні (див. розділ встановлення нижче). Для корпоративного сімейства продуктів дивіться Aspose.PDF — Enterprise Product Family.

Редагування документу та сторінки

  • Відкривайте PDF-файли з диска або з байтів у пам’яті за допомогою Document.OpenFile() / Document.Open(), або створюйте порожній документ за допомогою Document.New()
  • Розділяйте, об’єднуйте, витягуйте, змінюйте порядок і додавайте сторінки за допомогою Document.Split(), Document.Merge(), Document.ExtractPages(), Document.Reorder() та Document.Append()
  • Читайте та оновлюйте метадані документа за допомогою Document.SetMetadata() / Document.GetMetadata()
  • Записуйте вихідні дані за допомогою Document.WriteTo(), за бажанням стискаючи їх за допомогою xref-потоків та потоків об’єктів

Де використовується

  • Бекендові конвейери складання PDF, які розділяють, об’єднують і переупорядковують вхідні файли
  • Сервіси вилучення сторінок для розділення глав або рахунків-фактур
  • Керування метаданими документів для відповідності та архівування
  • Генерація вихідних даних, оптимізована для сховища, для високонавантажених документних сховищ

Конвертація формату

  • Відображайте цілі документи у HTML за допомогою Document.ToHtml() та у GitHub-сумісний Markdown за допомогою Document.ToMarkdown()
  • Створюйте переформатований або фіксований .docx вивід за допомогою Document.ToDocx() / Page.ToDocx()
  • Відображайте окремі сторінки у окремий SVG за допомогою Page.ToSvg() або растрові PNG/TIFF байти за допомогою Page.ToImage()
  • Експортуйте у EPUB за допомогою Document.ToEpub() для розповсюдження на електронних читачах

Де використовується

  • Публікаційні конвеєри, які перетворюють PDF у веб-готові HTML або Markdown
  • Генерація мініатюр та попередніх переглядів для систем управління документами
  • Архівування PDF у редаговані документи Word
  • Робочі процеси розповсюдження електронних книг

Анотації та розмітка

  • Додайте розмітку тексту за допомогою Page.AddHighlight(), Page.AddUnderline(), Page.AddSquiggly() та Page.AddStrikeOut()
  • Прикріплюйте нотатки-стикери та вільний текст за допомогою Page.AddTextNote() і Page.AddFreeText()
  • Розміщуйте аннотації-штамп за допомогою Page.AddStamp() і клікабельні посилання за допомогою Page.AddLink()
  • Перетворюйте будь-яку анотацію у вміст сторінки за допомогою методу Annotation.Flatten() , доступного в типізованих підтипах, таких як MarkupAnnotation і StampAnnotation

Де використовується

  • Інструменти перегляду документів та позначення змін
  • Спільна розмітка та коментування у робочих процесах
  • Розміщення штампу затвердження у процесах підписання
  • Публікація лише для читання раніше інтерактивної розмітки

AcroForms

  • Додайте текстові, прапорці, радіо-кнопки, комбіновані, спискові та натискні поля за допомогою класу Form (AddTextField(), AddCheckbox(), AddRadioGroup(), AddComboBox(), AddListBox(), AddPushButton())
  • Стилізуйте та оновлюйте вигляд полів за допомогою SetStyle() і GenerateAppearance() у типізованих класах полів, таких як TextField, ChoiceField та ButtonField
  • Прив’язуйте поведінку полів за допомогою SetActions() до будь-якого Field
  • Перетворюйте заповнену форму у статичний вміст сторінки за допомогою Document.FlattenForm()

Де використовується

  • Заповнювані державні, податкові та реєстраційні форми
  • Програмне попереднє заповнення форм на основі записів бази даних
  • Перетворення поданих форм у плоский формат перед довгостроковим архівуванням
  • Інтерактивні опитування та документи для прийому

Безпека, підписування та затирання

  • Захищайте паролем та шифруйте вихід за допомогою AES-128, AES-256 або RC4 через параметр encrypt методу Document.WriteTo(), з детальними Permissions
  • Цифрово підписуйте документи за допомогою Document.Sign() та перевіряйте підписи за допомогою Document.VerifySignatures()
  • Додавайте довірені часові мітки за допомогою Document.AddDocumentTimestamp()
  • Постійно затирайте чутливі ділянки або знайдений текст за допомогою Document.Redact(), Document.RedactText() та Page.ApplyRedactions()

Де використовується

  • Розповсюдження конфіденційних звітів із паролями для кожного отримувача
  • Цифрово підписані та з часовою міткою контракти
  • Редагування персональних даних (PII) перед публічним випуском у відповідності до вимог
  • Аудитні логи, що виявляють несанкціоновані зміни, для регульованих галузей

Конвертувати PDF у HTML, Markdown та DOCX

Відкрийте PDF і виведіть його у кілька форматів нижчого рівня за один прохід.

git clone https://github.com/aspose-pdf-foss/Aspose.PDF-FOSS-for-TypeScript.git
cd Aspose.PDF-FOSS-for-TypeScript
npm install
npm run build
import { Document } from '@asposefoss/pdf';
const doc = Document.OpenFile('in.pdf');
const svg = doc.Pages[0].ToSvg();          // standalone <svg> string
// fs.writeFileSync('page1.svg', svg);
const png = doc.Pages[0].ToImage({ scale: 2 }); // Uint8Array of PNG bytes @144 DPI
// fs.writeFileSync('page1.png', png);
const html = doc.ToHtml();                 // standalone semantic HTML, all pages
// fs.writeFileSync('out.html', html);
const md = doc.ToMarkdown();               // GFM Markdown, all pages
// fs.writeFileSync('out.md', md);
const docx = doc.ToDocx();                 // .docx bytes, reflowed, images in the package
// fs.writeFileSync('out.docx', docx);
const fixed = doc.ToDocx({ mode: 'textbox' });  // .docx keeping each page's own geometry
// fs.writeFileSync('fixed.docx', fixed);

Редагувати сторінки та метадані, потім зберегти

Завантажте PDF, відредагуйте його сторінки та метадані, і запишіть його назад з компресією.

import { Document } from '@asposefoss/pdf';

// Open from disk (or Document.Open(uint8array) for in-memory data)
const doc = Document.OpenFile('input.pdf');

// Inspect and edit pages
console.log(doc.Pages.length);
doc.Pages[0].Rotate = 90;
doc.RemovePage(2);                 // 1-based page number
doc.Reorder([3, 1, 2]);

// Metadata
doc.SetMetadata({ title: 'Report', author: 'Jane', custom: { Dept: 'R&D' } });

// Save
doc.WriteTo('output.pdf');         // or: const bytes = doc.Save();
doc.WriteTo('small.pdf', { compressed: true }); // xref stream + object streams

Створити новий PDF з нуля

Створіть порожній документ, додайте розташований текст та додайте ще одну сторінку.

import { Document, PageFormat } from '@asposefoss/pdf';
const doc = Document.New(PageFormat.A4);          // one blank A4 page
doc.Pages[0].AddText('Hello', 72, 720, { fontSize: 14 });
doc.AddPage(PageFormat.A4.landscape());           // append more as you go
doc.WriteTo('scratch.pdf');

Захистити паролем і зашифрувати PDF

Зашифруйте існуючий PDF за допомогою пари паролів користувач/власник та AES-256, обмежуючи копіювання та зміну.

import { Document } from '@asposefoss/pdf';
const doc = Document.OpenFile('in.pdf');
doc.WriteTo('locked.pdf', {
  encrypt: {
    userPassword: 'open-me',       // required to open (default '')
    ownerPassword: 'full-rights',  // default: same as userPassword
    algorithm: 'aes256',           // 'aes256' (default) | 'aes128' | 'rc4'
    permissions: { copying: false, modifying: false },
    encryptMetadata: true,
  },
});

Часті Питання

Яка модель ліцензування для Aspose.PDF FOSS for TypeScript?

Aspose.PDF FOSS for TypeScript випущено під MIT License, що дозволяє безкоштовне використання у комерційних продуктах без рентних платежів. Вихідний код доступний публічно на GitHub.

Як встановити Aspose.PDF FOSS for TypeScript?

Пакет орієнтований на Node.js 22 та новіші версії і не має інших залежностей під час виконання. Дивіться розділ встановлення вище для поточної команди встановлення.

Які формати файлів підтримує Aspose.PDF FOSS for TypeScript?

Бібліотека читає та записує PDF, Markdown, SVG та TIFF, а також може генерувати DOCX, HTML, PNG та EPUB вихід.

Як створити новий PDF-документ?

Використовуйте Document.New(PageFormat.A4), щоб створити порожній документ, потім додайте сторінки та збережіть за допомогою Document.WriteTo().

Чи потрібен ліцензійний ключ для використання Aspose.PDF FOSS for TypeScript?

Не потрібен ліцензійний ключ або крок активації. Бібліотека працює повністю без ліцензії безкоштовно за ліцензією MIT.

  

Ресурси Підтримки та Навчання

 Українська