Aspose.PDF FOSS for TypeScript תכונות
Aspose.PDF FOSS עבור TypeScript תכונות
דף זה סוקר את תחומי היכולת המרכזיים של Aspose.PDF FOSS עבור TypeScript ואת המחלקות המשמשות כנקודות הכניסה שלהן, כך שתוכל למצוא את דף המדריך למפתחים המתאים למשימה העומדת לרשותך. כל תחום מכוסה לעומק בדף משלו.
ניהול מסמכים ודפים
Document היא נקודת הכניסה לכל פעולה: Document.New() מתחילה מסמך ריק ב-PageFormat נתון, ו-Document.OpenFile() / Document.Open() טוענים קיים מנתיב קובץ או מבייטים בזיכרון. doc.Pages היא מערך של עצמים Page, ו-Document.WriteTo() / Document.Save() כותבים את התוצאה חזרה.
import { Document, PageFormat } from '@asposefoss/pdf';
const doc = Document.New(PageFormat.A4);
doc.Pages[0].AddText('Hello from Aspose.PDF FOSS!', 72, 720, { fontSize: 14 });
doc.WriteTo('hello.pdf');ראה Core API למחזור חיי המסמך, פיצול, מיזוג והרכבת דפים.
המרת פורמט
Document.ToHtml(), Document.ToDocx(), ו-Document.ToMarkdown() ממירים כל דף של מסמך לפורמט אחר; אותן השיטות קיימות ב-Page כדי להמיר דף בודד, בנוסף Page.ToImage() לפלט רסטר PNG ו-Page.ToSvg() ל-SVG עצמאי.
const doc = Document.OpenFile('report.pdf');
const html = doc.ToHtml(); // standalone HTML, all pages
const png = doc.Pages[0].ToImage({ scale: 2 }); // PNG bytes for page 1
ראה Conversion למערך המלא של פורמטי ייצוא ואפשרויות.
הערות
Page.AddHighlight() והמתודה האחראית Page.Add*() שלהם יוצרות סימון טקסט וצורה; כל אחת מחזירה מצביע Annotation חי. Annotation.Flatten() משחיטה את המראה של ההערה ישירות לתזרים התוכן של העמוד ומסירה אותה מ-/Annots, מה שהופך אותה לקבועה ולא אינטראקטיבית.
const highlight = doc.Pages[0].AddHighlight({ quadPoints: [72, 700, 200, 700, 72, 685, 200, 685] });
highlight.Flatten();ראה Annotations למערך המלא של סוגי ההערות וחיפוש טקסט ההערה.
טפסים והשטחת שדות
AcroForm שדות נוצרות דרך doc.Form, חזות Form, או ישירות על Page עם Page.AddTextField() / Page.AddCheckbox(). Form.AddTextField() ו-Form.AddCheckbox() מחזירות מצביע שדה שהמתודה Flatten() שלו משחיטה אותו לתוכן סטטי באותו אופן שבו Annotation.Flatten() עושה זאת.
const field = doc.Form.AddTextField({
page: 0, rect: [72, 660, 300, 680], name: 'FullName', value: 'Jane Doe',
});
field.Flatten();ראה Forms למערך המלא של סוגי השדות.
Security
Document.OpenFile() ו-Document.Open() מקבלים אפשרות password לפתיחת מסמכים מוגנים, ו-Document.Save() מקבל אפשרות encrypt להגנה על מסמך בעת השמירה. Document.Sign() ו-Document.Certify() מוסיפים חתימות דיגיטליות, ו-Document.VerifySignatures() בודק כל חתימה שכבר קיימת במסמך.
import { Document, InvalidPasswordError } from '@asposefoss/pdf';
try {
const doc = Document.OpenFile('secret.pdf', { password: 'hunter2' });
doc.WriteTo('decrypted.pdf');
} catch (e) {
if (e instanceof InvalidPasswordError) console.error('wrong password');
else throw e;
}ראה Security להצפנה, לחתימה ולאימות חתימה.
Redaction
Page.AddRedact() מסמן אזור מלבני לצורך הסתרה מבלי לשנות את הדף עדיין; Page.ApplyRedactions() לאחר מכן משכתב באופן הרסני את זרם התוכן, מסיר לצמיתות את התוכן המסומן ומחזיר את מספר ההסתרות שבוצעו.
page.AddRedact({ rect: [220, 550, 460, 566], fill: [0, 0, 0], overlayText: '[REDACTED]' });
const applied = page.ApplyRedactions();ראה Redaction לעוד פרטים על מצב סימון מול מחיקות מוחלות.
מבנה המסמך ונגישות
Document.AutoTag() מנחש ויוצר /StructTreeRoot מתוך פריסת העמוד — כותרות באמצעות קבוצות של גודל גופן, פסקאות, ו(עם opts.alt) תמונות — ומחזיר AutoTagReport. Document.GetStructTree() קורא את עץ המבנה שנוצר, ו-Document.ValidatePdfUa() בודק את המסמך כנגד תת-קבוצה שניתנת לבדיקה על-ידי מכונה של PDF/UA-1.
const report = doc.AutoTag({ lang: 'en-US', title: 'Quarterly Report', tables: true });
console.log(report);ראה Structure למתווה, תיוג ויעדים בשם.
טיפים ושיטות עבודה מומלצות
- שנה את האובייקטים
Pageהמגיעים דרךdoc.Pagesישירות — annotation, field, או page המוחזקים במשתנה נפרד שלא נלקחו מהמסמך החי אינם משתקפים כאשר אתה קורא ל-Save()/WriteTo(). Flatten()זמין הן ב-Annotationוהן במחזיקי שדות טופס (TextField,CheckboxFieldושאר סוגי השדות) — קרא לו כאשר תוכן אינטראקטיבי צריך להפוך לתוכן דף קבוע, בלתי ניתן לעריכה.- קרא ל-
Page.ApplyRedactions()רק לאחר שכל סימוןPage.AddRedact()עבור הדף הזה נוספה; סימונים שהוספו לאחר הקריאה נשארים לא מיושמים. - תפוס את
InvalidPasswordErrorבמפורש לפני מטפלת כללית רחבה יותר בעת קריאה ל-Document.OpenFile()/Document.Open()על קלט לא מהימן. Document.AutoTag()מייצר עץ מבנה השערתי — תמיד בצע בדיקה מהירה של התוצאה עםDocument.GetStructTree()אוValidatePdfUa()במקום להניח ציות מלא לנגישות.
בעיות נפוצות
| בעיה | סיבה | תיקון |
|---|---|---|
Document.OpenFile() / Document.Open() זורק InvalidPasswordError | המסמך מוגן בסיסמה ולא סופקה סיסמה, או שסופקה סיסמה שגויה | העבר { password: '...' } אל Document.OpenFile() / Document.Open() |
| סימן המחיקה אינו משפיע | Page.ApplyRedactions() לא נקרא מעולם, או שנקרא לפני שהסימן נוסף | קרא Page.AddRedact() עבור כל סימן תחילה, ואז Page.ApplyRedactions() פעם אחת |
| שדה משטח או הערה עדיין מוצגים כאינטראקטיביים | Flatten() נקרא על עותק במקום המזהה שהוחזר על-ידי קריאת Add*() | הפעל Flatten() על האובייקט שהוחזר ישירות על-ידי AddTextField() / AddHighlight() / וכו'. |
ValidatePdfUa() עדיין מדווח על מבנה חסר אחרי AutoTag() | AutoTag() הוא היוריסטי ועלול לא לתייג כל איור ללא קריאת חזרה של alt | העבר פונקציית opts.alt אל AutoTag() כדי לספק טקסט חלופי לתמונות |
FAQ
האם Aspose.PDF FOSS עבור TypeScript תלוי במנוע PDF מסחרי?
לא. הוא שוחרר תחת רישיון MIT וההגיון של הרינדור, ההמרה והחתימה פועל לחלוטין ב-TypeScript/JavaScript.
האם אני יכול להמיר PDF ישירות ל-HTML, Markdown או DOCX?
כן — Document.ToHtml(), Document.ToMarkdown() ו-Document.ToDocx() מציגים כל עמוד של המסמך; השיטות המקבילות Page.ToHtml() / Page.ToMarkdown() / Page.ToDocx() מציגות עמוד בודד.
מה ההבדל בין סימון ליישום הסתרה?
Page.AddRedact() רק מסמן אזור — התוכן הבסיסי עדיין קיים וניתן להעתקה עד שהמתודה Page.ApplyRedactions() נקראת, שמסירה אותו בצורה הרסנית.
איך אני עושה שההערה או שדה טופס יהיו קבועים ובלתי ניתנים לעריכה?
קרא Flatten() על האובייקט שמוחזר מהקריאה Add*() שיצרה אותו — Annotation.Flatten() עבור הערות, או את Flatten() של מטפל השדה עבור שדות AcroForm.
לאן אני הולך הלאה?
Getting Started מכסה התקנה ודוגמה ראשונה עובדת. מדריך המפתחים הזה ממשיך עם דפים ייעודיים לכל תחום יכולת המקושרים למעלה.
API Reference סיכום
| מחלקה/מתודה | תיאור |
|---|---|
Document | נקודת כניסה — יצירה, טעינה, שמירה וניהול של PDF |
Document.New() / Document.OpenFile() / Document.Open() | התחלת מסמך ריק, או טעינת אחד מנתיב קובץ או מבייטים בזיכרון |
Document.WriteTo() / Document.Save() | כתוב את המסמך לנתיב קובץ או החזר בייטים |
Document.ToHtml() / Document.ToDocx() / Document.ToMarkdown() | המר כל עמוד לפורמט אחר |
Page.ToImage() / Page.ToSvg() | המרת דף בודד ל-PNG או SVG |
Page.AddHighlight() ושיטות אנוטציה אחרות של Page.Add*() | צור אנוטציה, מחזיר ידית חיה |
Annotation.Flatten() | הטמע את מראה האנוטציה בתוכן דף סטטי |
Form / Form.AddTextField() / Form.AddCheckbox() | החזית של AcroForm ויצירת שדה |
Document.Sign() / Document.Certify() / Document.VerifySignatures() | הוסף או אמת חתימות דיגיטליות |
Page.AddRedact() / Page.ApplyRedactions() | סמן והחל מחיקת תוכן |
Document.AutoTag() / Document.GetStructTree() | מחבר וקרא את עץ המבנה הלוגי של המסמך |