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

Aspose.PDF FOSS для TypeScript

Открытая TypeScript-библиотека для создания, редактирования, конвертации, аннотирования и защиты PDF-документов — лицензия MIT, без зависимостей.

Aspose.PDF FOSS — Открытая библиотека PDF на TypeScript

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()
  • Создавать переflow- или фиксированный макет .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

  • Добавьте текстовые, флажковые, радиокнопки, комбобоксы, списковые и push-button поля с помощью класса 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, позволяя свободное использование в коммерческих продуктах без каких-либо платежей за время выполнения. Исходный код публично доступен на 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.

  

Ресурсы поддержки и обучения

 Русский