واسطها API
واسطها API
API فاسادها رابطهای سادهشده و کار‑محور را در اطراف مدل شیء اصلی Aspose.PDF FOSS برای .NET فراهم میکند.
هر کلاس فاساد به یک عملیات خاص PDF هدف میگیرد — پر کردن فرم، ترکیب فایل، ویرایش محتوا یا امضای دیجیتال — و یک جریان کاری BindPdf / Save را نمایش میدهد.
پر کردن فرم با فاساد Form
Form (در Aspose.Pdf.Facades) به یک PDF موجود متصل میشود و به شما امکان میدهد مقادیر فیلدهای AcroForm را بدون پیمایش درخت صفحه بخوانید یا بنویسید.
using var form = new Form("input.pdf", "output.pdf");
form.FillField("FirstName", "Alice");
form.FillField("AcceptTerms", "Yes");
form.Save();برای خواندن مقادیر فیلد:
using var form = new Form("input.pdf");
string name = form.GetField("FirstName");ادغام و تقسیم PDFها با PdfFileEditor
PdfFileEditor ترکیب میکند، تقسیم میکند، استخراج میکند و بازههای صفحه را حذف میکند.
var editor = new PdfFileEditor();
// Concatenate two files
editor.Concatenate("file1.pdf", "file2.pdf", "merged.pdf");
// Extract pages 2-5
editor.Extract("source.pdf", 2, 5, "pages2to5.pdf");
// Split at page 3
editor.SplitFromFirst("source.pdf", 3, "first3.pdf");ویرایش محتوای صفحه با PdfContentEditor
PdfContentEditor محتوای صفحه موجود را تغییر میدهد — متن اضافه کند، متن را جایگزین کند یا اقدامات را به حاشیهنویسیها پیوست کند.
var editor = new PdfContentEditor();
editor.BindPdf("input.pdf");
// Perform content edits
editor.Save("output.pdf");امضاهای دیجیتال با PdfFileSignature
PdfFileSignature اسناد PDF را امضا میکند و امضاهای موجود را تأیید مینماید.
var sig = new PdfFileSignature();
sig.BindPdf("document.pdf");
// Sign or verify
sig.Save("signed.pdf");مهرگذاری صفحه با PdfFileStamp
PdfFileStamp متن، تصویر یا صفحات دیگر PDF را بهعنوان تمبر رویهم میگذارد.
var stamp = new PdfFileStamp();
stamp.BindPdf("input.pdf");
// Add stamps
stamp.Save("stamped.pdf");
stamp.Close();تبدیل صفحات به تصاویر با PdfConverter
PdfConverter صفحات PDF را به فرمتهای تصویر رستر تبدیل میکند.
var converter = new PdfConverter();
converter.BindPdf("input.pdf");
converter.DoConvert();
// Iterate pages and save imagesنکات و بهترین شیوهها
- همیشه
Close()را فراخوانی کنید یا ازusingبرای آزادسازی منابع نگهداشتهشده توسط اشیای facade استفاده کنید. - برای فایلهای بزرگ از
BindPdfهمراه با مسیر فایل استفاده کنید تا از بارگذاری همه چیز در حافظه بهصورت همزمان جلوگیری شود. - برای مدیریت خطای نرم،
TryConcatenateوTryAppendرا بهجای نسخههای غیر‑Try آنها ترجیح دهید. - Facades بهصورت داخلی به مدل هستهای
Documentواگذار میشوند — وقتی به کنترل دقیقتری نیاز دارید، به API هستهای سوئیچ کنید. - facade
FormEditorامکان افزودن فیلدهای فرم جدید به یک PDF موجود را میدهد، نه فقط پر کردن فیلدهای موجود.
مسائل رایج
| مشکل | دلیل | راهحل |
|---|---|---|
Save() فایل خالی تولید میکند | BindPdf قبل از ذخیره صدا زده نشده بود | همیشه قبل از فراخوانی Save یک PDF منبع را بایند کنید |
| مقدار فیلد فرم نوشته نمیشود | نام فیلد با نام داخلی فیلد PDF مطابقت ندارد | از Form.FieldNames برای فهرست کردن نامهای فیلد موجود استفاده کنید |
| ادغام بهصورت ساکت شکست میخورد | فایل ورودی رمزگذاری شده یا خراب است | از TryConcatenate استفاده کنید و مقدار بازگشتی را بررسی کنید |
| امضاها پس از ویرایش نامعتبر میشوند | محتوا پس از امضا تغییر یافته بود | بهعنوان گام نهایی سند را امضا کنید |
سوالات متداول
تفاوت بین Facades و core Document API چیست؟
واسطها روشهای سطح بالا و مبتنی بر وظیفه (پر کردن فرم، ادغام فایلها) را فراهم میکنند.
API هسته (Document، Page، Annotation) دسترسی سطح پایین به
هر شیء PDF را میدهد.
واسطها از API هسته بهصورت داخلی استفاده میکنند.
آیا میتوانم چندین عملیات facade را بهصورت زنجیرهای انجام دهم؟
بله. همان منبع را بایند کنید، عملیات را انجام دهید و یکبار ذخیره کنید. یا ذخیره کنید نتیجه میانی را و برای عملیات بعدی دوباره بایند کنید.
آیا PdfFileEditor از PDFهای محافظتشده با رمز عبور پشتیبانی میکند؟
بله. Overloads که رمزهای عبور مالک/کاربر را میپذیرند برای فایلهای رمزگذاریشده در دسترس هستند.
خلاصه مرجع API
| Class / Method | Description |
|---|---|
Form | واسط AcroForm برای خواندن و نوشتن مقادیر فیلد |
Form.FillField | تنظیم مقدار فیلد فرم بر اساس نام |
Form.GetField | خواندن مقدار فیلد فرم بر اساس نام |
FormEditor | افزودن یا اصلاح فیلدهای فرم در یک PDF موجود |
PdfFileEditor | ادغام، تقسیم، استخراج و حذف بازههای صفحات PDF |
PdfFileEditor.Concatenate | ادغام دو یا چند PDF در یک فایل |
PdfFileEditor.Extract | استخراج بازهای از صفحات به یک PDF جدید |
PdfContentEditor | تغییر محتوای صفحه (متن، حاشیهنویسیها، اقدامات) |
PdfFileSignature | امضا و تأیید امضای دیجیتال PDF |
PdfFileStamp | قرار دادن متن یا تصویر به عنوان مهر روی صفحات |
PdfConverter | رندر کردن صفحات PDF به تصاویر رستر |
FormattedText | توصیفگر متن سبکدار برای عملیات مهر |
FontStyle | شمارش سبکهای قلم (ضخیم، ایتالیک و غیره) |
EncodingType | شمارش رمزگذاری کاراکترها |