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.
Document.OpenFile() / Document.Open(), або створюйте порожній документ за допомогою Document.New()Document.Split(), Document.Merge(), Document.ExtractPages(), Document.Reorder() та Document.Append()Document.SetMetadata() / Document.GetMetadata()Document.WriteTo(), за бажанням стискаючи їх за допомогою xref-потоків та потоків об’єктівDocument.ToHtml() та у GitHub-сумісний Markdown за допомогою Document.ToMarkdown().docx вивід за допомогою Document.ToDocx() / Page.ToDocx()Page.ToSvg() або растрові PNG/TIFF байти за допомогою Page.ToImage()Document.ToEpub() для розповсюдження на електронних читачахPage.AddHighlight(), Page.AddUnderline(), Page.AddSquiggly() та Page.AddStrikeOut()Page.AddTextNote() і Page.AddFreeText()Page.AddStamp() і клікабельні посилання за допомогою Page.AddLink()Annotation.Flatten() , доступного в типізованих підтипах, таких як MarkupAnnotation і StampAnnotationForm (AddTextField(), AddCheckbox(), AddRadioGroup(), AddComboBox(), AddListBox(), AddPushButton())SetStyle() і GenerateAppearance() у типізованих класах полів, таких як TextField, ChoiceField та ButtonFieldSetActions() до будь-якого FieldDocument.FlattenForm()encrypt методу Document.WriteTo(), з детальними PermissionsDocument.Sign() та перевіряйте підписи за допомогою Document.VerifySignatures()Document.AddDocumentTimestamp()Document.Redact(), Document.RedactText() та Page.ApplyRedactions()Відкрийте 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 buildimport { 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
Створіть порожній документ, додайте розташований текст та додайте ще одну сторінку.
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 за допомогою пари паролів користувач/власник та 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 випущено під MIT License, що дозволяє безкоштовне використання у комерційних продуктах без рентних платежів. Вихідний код доступний публічно на GitHub.
Пакет орієнтований на Node.js 22 та новіші версії і не має інших залежностей під час виконання. Дивіться розділ встановлення вище для поточної команди встановлення.
Бібліотека читає та записує PDF, Markdown, SVG та TIFF, а також може генерувати DOCX, HTML, PNG та EPUB вихід.
Використовуйте Document.New(PageFormat.A4), щоб створити порожній документ, потім додайте сторінки та збережіть за допомогою Document.WriteTo().
Не потрібен ліцензійний ключ або крок активації. Бібліотека працює повністю без ліцензії безкоштовно за ліцензією MIT.