פיצול PDF למספר קבצים באמצעות C#

PDF הוא אחד הפורמטים הנפוצים ביותר של קבצים שהוא נייד מאוד. כמפתחים, ייתכן שהתמודדת עם התרחיש לפצל קבצי PDF גדולים באופן תוכנתי. באחד המאמרים למדנו לחלק את קבצי ה-PDF ב-Java. כיום, מאמר זה דן בדרכים שונות לפיצול קבצי PDF באמצעות C# ביישומי NET.

.NET API לפיצול קבצי PDF

על מנת לפצל קבצי PDF, נשתמש ב-GroupDocs.Merger for .NET. ה-API הוא זה שמאפשר פיתוח מהיר לשילוב תכונות עם מעט מאוד שורות קוד. בנוסף לפיצול, הוא תומך ב[מיזוג, החלפה או חיתוך של מסמכים בפורמטים שונים של קבצים].

אתה יכול להוריד את קובצי ה-DLL או ה-MSI מתקין מסעיף ההורדות או להתקין את ה-API באפליקציית NET שלך דרך NuGet.

PM> Install-Package GroupDocs.Merger

פיצול קובץ PDF לקבצים מרובי עמודים באמצעות C#

השלבים הבאים מנחים כיצד ניתן לפצל קבצי PDF לקבצים מרובי עמודים באמצעות C#:

  • הגדר את פורמט קבצי הפלט.
  • הגדר את מרווחי הדפים באמצעות SplitOptions.
  • טען את קובץ ה-PDF באמצעות מחלקה Merger.
  • פצל את ה-PDF הנטען לפי מרווח מוגדר באמצעות שיטת Split().

דוגמת הקוד הבאה מראה כיצד לפצל קבצי PDF לקבצים מרובי עמודים.

/*
 * פיצול קבצי PDF לקבצים מרובי עמודים באמצעות C#
 */
// הגדר פורמט של קבצי פלט
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() כדי לפצל את ה-PDF הנטען בהתאם לטווח המוגדר.

קטע הקוד הבא מראה כיצד לפצל PDF ולחלץ דפים על ידי מתן הטווח.

/*
 * פיצול קובץ PDF לפי Given Range לקבצי עמוד בודד באמצעות C#
 */
// הגדר פורמט של קבצי פלט
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}";

// הגדר טווח ומסנן כדי לחלץ את כל דפי ה-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 למספר קבצים של עמוד אחד.

/*
 * פיצול קובץ PDF לקבצי עמוד בודד באמצעות C#
 */
// הגדר פורמט של קבצי פלט
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. להלן סיכום השינוי בכל קטע קוד עבור כל תרחיש. אתה יכול להשתמש בהגדרות הבאות לפי הדרישות שלך בתוך הקוד שלך. כאן השתמשתי בקובץ PDF בעל 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. ראשית, חילצנו את כל הדפים, ולאחר מכן דפים זוגיים/אי זוגיים בטווח הנתון. אתה יכול לנסות לבנות את אפליקציית .NET לפיצול PDF משלך באמצעות GroupDocs.Merger API.

למידע נוסף על ה-API, בקר בתיעוד. לשאלות, צור איתנו קשר דרך הפורום.

ראה גם