PDF یکی از رایج ترین فرمت های فایل است که بسیار قابل حمل است. به عنوان یک توسعه دهنده، ممکن است با سناریوی تقسیم فایل های PDF بزرگ به صورت برنامه ای روبرو شده باشید. در یکی از مقالات، ما یاد گرفتیم که [فایلهای PDF را در Java تقسیم کنیم3. امروز، این مقاله روشهای مختلف تقسیم فایلهای PDF با استفاده از C# در برنامههای NET را مورد بحث قرار میدهد.
- NET API برای تقسیم فایل های PDF
- PDF را به فایل های چند صفحه ای تقسیم کنید
- استخراج صفحات از فایل های PDF بر اساس محدوده
- استخراج صفحات از فایل های PDF با استفاده از فیلتر زوج یا فرد
- PDF را به فایل های چند صفحه ای تقسیم کنید
NET API برای تقسیم فایل های PDF
برای تقسیم فایلهای PDF، از GroupDocs.Merger for .NET استفاده میکنیم. این API است که به توسعه سریع اجازه می دهد تا ویژگی ها را با خطوط بسیار کمی کد یکپارچه کند. علاوه بر تقسیم، از [ادغام، مبادله، یا برش اسناد با فرمتهای مختلف فایل10 پشتیبانی میکند.
میتوانید نصبکننده DLL یا MSI را از بخش دانلودها دانلود کنید یا از طریق NuGet API را در برنامه داتنت خود نصب کنید.
PM> Install-Package GroupDocs.Merger
تقسیم فایل PDF به فایل های چند صفحه ای با استفاده از C#
مراحل زیر نحوه تقسیم فایل های PDF را با استفاده از C# به فایل های چند صفحه ای راهنمایی می کند:
- فرمت فایل(های) خروجی را تعریف کنید.
- فواصل صفحه را با استفاده از SplitOptions تعریف کنید.
- فایل PDF را با استفاده از کلاس Merger بارگیری کنید.
- PDF بارگذاری شده را با استفاده از روش Split() بر اساس بازه زمانی تعریف شده تقسیم کنید.
نمونه کد زیر نحوه تقسیم فایل های PDF را به فایل های چند صفحه ای نشان می دهد.
/*
* تقسیم فایل های PDF به فایل های چند صفحه ای با استفاده از سی شارپ
*/
// فرمت فایل(های) خروجی را تعریف کنید
string filePathOut = "path/splitPDF_{0}.{1}";
// فواصل تقسیم و حالت تقسیم را تعریف کنید
SplitOptions splitOptions = new SplitOptions(filePathOut, new int[] { 3, 6, 8 }, SplitMode.Interval);
// فایل PDF را بارگیری کنید و PDF را طبق گزینه های تقسیم کنید
using (Merger merger = new Merger("path/document.pdf"))
{
merger.Split(splitOptions);
}
استخراج صفحات از فایل های PDF بر اساس محدوده
مراحل زیر نحوه استخراج صفحات از PDF با استفاده از C# با تقسیم بر اساس محدوده داده شده را راهنمایی می کند:
- فرمت فایل(های) خروجی را تعریف کنید.
- محدوده صفحات را با استفاده از SplitOptions ارائه کنید.
- فایل PDF را با استفاده از کلاس Merger بارگیری کنید.
- از روش [Split(]]18 برای تقسیم PDF بارگذاری شده با توجه به محدوده تعریف شده استفاده کنید.
قطعه کد زیر نحوه تقسیم PDF و استخراج صفحات را با ارائه محدوده نشان می دهد.
/*
* تقسیم فایل PDF با استفاده از محدوده داده شده به فایل های تک صفحه ای با استفاده از سی شارپ
*/
// فرمت فایل(های) خروجی را تعریف کنید
string filePathOut = "path/splitPDF_{0}.{1}";
// محدوده را برای استخراج به عنوان اسناد تک صفحه تعریف کنید
SplitOptions splitOptions = new SplitOptions(filePathOut, 3, 7);
// فایل PDF را بارگیری کنید و PDF را طبق گزینه های تقسیم کنید
using (Merger merger = new Merger("path/document.pdf"))
{
merger.Split(splitOptions);
}
استخراج صفحات زوج/فرد از فایل های PDF با استفاده از C#
مراحل زیر نحوه استخراج صفحات زوج/فرد از یک فایل PDF را با تقسیم در محدوده داده شده با اعمال فیلترها در C# راهنمایی می کند:
- فرمت فایل(های) خروجی را تعریف کنید.
- محدوده صفحات را با استفاده از SplitOptions ارائه کنید.
- فیلتر را برای زوج، فرد یا همه صفحات با استفاده از RangeMode اعمال کنید.
- فایل PDF را با استفاده از کلاس Merger بارگیری کنید.
- از روش Split() برای جداسازی PDF بارگذاری شده با توجه به فیلتر تعریف شده استفاده کنید.
قطعه کد زیر نحوه استخراج تمام صفحات زوج و فرد در محدوده تعریف شده یک فایل PDF را نشان می دهد.
/*
* تقسیم فایل PDF با استفاده از محدوده داده شده و فیلتر (صفحات زوج/فرد) به فایل های تک صفحه با استفاده از C#
*/
// فرمت فایل(های) خروجی را تعریف کنید
string filePathOut = "path/splitPDF_{0}.{1}";
// Range & Filter را تعریف کنید تا تمام صفحات ODD در محدوده داده شده را به عنوان اسناد تک صفحه ای استخراج کنید
SplitOptions splitOptions = new SplitOptions(filePathOut, 3, 7, RangeMode.OddPages);
// فایل PDF را بارگیری کنید و PDF را طبق گزینه های تقسیم کنید
using (Merger merger = new Merger("path/document.pdf"))
{
merger.Split(splitOptions);
}
فایل PDF را به چندین فایل تک صفحه ای تقسیم کنید
مراحل زیر راهنمایی می کند که چگونه می توانیم یک PDF را برای استخراج صفحات به صورت چندین فایل تک صفحه ای در C# تقسیم کنیم:
- فرمت فایل(های) خروجی را تعریف کنید.
- شماره صفحات دقیق را با استفاده از SplitOptions تعریف کنید.
- فایل PDF را با استفاده از کلاس Merger بارگیری کنید.
- PDF بارگذاری شده را با استفاده از روش Split() بر اساس صفحات تعریف شده تقسیم کنید.
نمونه کد زیر نحوه تقسیم فایل های PDF را به چندین فایل تک صفحه ای نشان می دهد.
/*
* با استفاده از C# فایل PDF را به فایل های Single Page تقسیم کنید
*/
// فرمت فایل(های) خروجی را تعریف کنید
string filePathOut = "path/splitPDF_{0}.{1}";
// صفحاتی را تعریف کنید تا به عنوان سند تک صفحه ای استخراج شوند
SplitOptions splitOptions = new SplitOptions(filePathOut, new int[] { 3, 6, 8 });
// فایل PDF را بارگیری کنید و PDF را طبق گزینه های تقسیم کنید
using (Merger merger = new Merger("path/document.pdf"))
{
merger.Split(splitOptions);
}
خلاصه تغییر کد
در تمام سناریوها، چیزی که تغییر می کند، نحوه تعریف SplitOptions است. در اینجا خلاصه ای از تغییر در هر قطعه کد برای هر سناریو آمده است. می توانید تنظیمات زیر را مطابق با نیاز خود در کد خود استفاده کنید. در اینجا از یک فایل پی دی اف 10 صفحه ای استفاده کردم.
- برای فایلهای چند صفحهای - از فاصله زمانی استفاده کنید: [1،2]، [3،4،5]، [6،7]، [8،9،10].
new SplitOptions(outputFile, new int[] { 3, 6, 8 }, SplitMode.Interval)
- استخراج صفحات در محدوده: [3]، [4]، [5]، [6]
new SplitOptions(outputFile, 3, 6);
- محدوده با فیلتر: [3]، [5]، [7]
new SplitOptions(outputFile, 3, 8, (Integer)RangeMode.OddPages);
- صفحات فردی: [3]، [4]، [9]
new SplitOptions(outputFile, new int[] { 3, 4, 9 });
یک مجوز API رایگان دریافت کنید
برای استفاده از API بدون محدودیت ارزیابی، می توانید یک مجوز موقت رایگان دریافت کنید.
نتیجه
برای نتیجه گیری، روش های تقسیم فایل های PDF با استفاده از C# را مورد بحث قرار دادیم. ابتدا فایل PDF را به اسناد چند صفحه ای و تک صفحه ای تقسیم می کنیم. ما همچنین صفحات را از فایل های PDF استخراج کردیم. ابتدا تمام صفحات و سپس صفحات زوج/فرد در محدوده داده شده را استخراج کردیم. میتوانید با استفاده از GroupDocs.Merger API، برنامه NET تقسیمکننده PDF خود را بسازید.
برای کسب اطلاعات بیشتر در مورد API، از مستندات دیدن کنید. برای سؤالات، از طریق [فروم 28 با ما تماس بگیرید.