הקוד לדחיסת PDF ב C#

ספריית .NET עם ביצועים גבוהים למיטוב התוכן והגודל של PDF תוך שמירה על האיכות המקורית ונתוני הבסיס

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

הצג את קטע הקוד

דחוס PDF ב C#

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

הקטנת גודל קובץ PDF באמצעות C#

המוצר שלנו מספק למפתחי C# API משולב כדי להקטין את הגודל של קבצי PDF. דחיסת PDF מתבצעת בשני מעברים. במהלך המעבר הראשון, כל דפי ה PDF מומרים לפורמט תמונה. המוצר שלנו משתמש באלגוריתמים אדפטיביים ויעילים ביותר של דחיסת תמונה המאפשרים למפתחים לקבל פלט PDF קומפקטי תוך שמירה על איכות אופטימלית של המסמך. במעבר הבא, רצף התמונות נדחס ומשולב ליצירת תוכן של קובץ PDF חדש ומותאם.

דחיסת PDF קלה עם 'Aspose.Words for .NET'. הדוגמה הבאה מדגימה כיצד להקטין את הגודל של קובץ PDF ב C#:

דוגמה לקוד ב C# כדי לדחוס PDF קבצים
העלה קובץ שברצונך לבצע אופטימיזציה/דחיסה
הפעל קוד
בחר את פורמט היעד מהרשימה
50%
using Aspose.Words;
using Aspose.Words.Pdf2Word.FixedFormats;

using var pdfStream = File.OpenRead("Input.pdf");

var renderer = new PdfFixedRenderer();
var pdfReadOptions = new PdfFixedOptions
{
    ImageFormat = FixedImageFormat.Jpeg,
    JpegQuality = 50
};

const double maxPageDimension = 1584;
var pagesStream = renderer.SavePdfAsImages(pdfStream, pdfReadOptions);

var builder = new DocumentBuilder();
for (var i = 0; i < pagesStream.Count; ++i)
{
    // הגדר את גודל העמוד המרבי כדי למנוע את קנה המידה הנוכחי של תמונת העמוד.
    var pageSetup = builder.PageSetup;
    SetPageSize(pageSetup, maxPageDimension, maxPageDimension);

    var pageImage = builder.InsertImage(pagesStream[i]);

    SetPageSize(pageSetup, pageImage.Width, pageImage.Height);
    pageSetup.TopMargin = 0;
    pageSetup.LeftMargin = 0;
    pageSetup.BottomMargin = 0;
    pageSetup.RightMargin = 0;

    if (i != pagesStream.Count - 1)
        builder.InsertBreak(BreakType.SectionBreakNewPage);
}

var saveOptions = new PdfSaveOptions
{
    CacheBackgroundGraphics = true
};

builder.Document.Save("Output.pdf", saveOptions);

private void SetPageSize(PageSetup pageSetup, double width, double height)
{
    pageSetup.PageWidth = width;
    pageSetup.PageHeight = height;
}
using Aspose.Words; var doc = new Document("Input.pdf"); doc.Cleanup(); var nodes = doc.GetChildNodes(NodeType.Shape, true); foreach (Shape shape in nodes) { if (shape.IsImage) { // זה תלוי במפתח לבחור את הספרייה לדחיסת תמונה. using var image = Image.FromStream(shape.ImageData.ToStream()); // ... // דחסו את התמונה והחזירו אותה לצורה. shape.ImageData.SetImage("yourCompressedImage"); } } var saveOptions = new PdfSaveOptions { CacheBackgroundGraphics = true }; doc.Save("Output.pdf", saveOptions); using Aspose.Words; var doc = new Document("Input.pdf"); doc.Cleanup(); var nodes = doc.GetChildNodes(NodeType.Shape, true); foreach (Shape shape in nodes) { if (shape.IsImage) { // זה תלוי במפתח לבחור את הספרייה לדחיסת תמונה. using var image = Image.Fromstream(shape.ImageData.ToStream()); // ... // דחסו את התמונה והחזירו אותה לצורה. shape.ImageData.SetImage("yourCompressedImage"); } } doc.Save("Output.pdf"); using Aspose.Words; var doc = new Document("Input.pdf"); doc.Cleanup(); var nodes = doc.GetChildNodes(NodeType.Shape, true); foreach (Shape shape in nodes) { if (shape.IsImage) { // זה תלוי במפתח לבחור את הספרייה לדחיסת תמונה. using var image = Image.FromStream(shape.ImageData.ToStream()); // ... // דחסו את התמונה והחזירו אותה לצורה. shape.ImageData.SetImage("yourCompressedImage"); } } var saveOptions = new OoxmlSaveOptions { CompressionLevel = CompressionLevel.Maximum }; doc.Save("Output.pdf", saveOptions); using Aspose.Words; var doc = new Document(); var builder = new DocumentBuilder(doc); var shape = builder.InsertImage("Input.pdf"); // עדכן את הגדרות העמוד כדי לחתוך את המסמך כך שיתאים לגודל התמונה. var pageSetup = builder.PageSetup; pageSetup.PageWidth = shape.Width; pageSetup.PageHeight = shape.Height; pageSetup.TopMargin = 0; pageSetup.LeftMargin = 0; pageSetup.BottomMargin = 0; pageSetup.RightMargin = 0; var saveOptions = new ImageSaveOptions(SaveFormat.Pdf) { }; doc.Save("Output.pdf", saveOptions); using Aspose.Words; using Aspose.Words.Pdf2Word.FixedFormats; using var pdfStream = File.OpenRead("Input.pdf"); var renderer = new PdfFixedRenderer(); var pdfReadOptions = new PdfFixedOptions { ImageFormat = FixedImageFormat.Jpeg, JpegQuality = 50 }; const double maxPageDimension = 1584; var pagesStream = renderer.SavePdfAsImages(pdfStream, pdfReadOptions); var builder = new DocumentBuilder(); for (var i = 0; i < pagesStream.Count; ++i) { // הגדר את גודל העמוד המרבי כדי למנוע את קנה המידה הנוכחי של תמונת העמוד. var pageSetup = builder.PageSetup; SetPageSize(pageSetup, maxPageDimension, maxPageDimension); var pageImage = builder.InsertImage(pagesStream[i]); SetPageSize(pageSetup, pageImage.Width, pageImage.Height); pageSetup.TopMargin = 0; pageSetup.LeftMargin = 0; pageSetup.BottomMargin = 0; pageSetup.RightMargin = 0; if (i != pagesStream.Count - 1) builder.InsertBreak(BreakType.SectionBreakNewPage); } var saveOptions = new PdfSaveOptions { CacheBackgroundGraphics = true }; builder.Document.Save("Output.pdf", saveOptions); private void SetPageSize(PageSetup pageSetup, double width, double height) { pageSetup.PageWidth = width; pageSetup.PageHeight = height; }
הפעל קוד

כיצד לדחוס PDF

  1. התקן Aspose.Words for .NET.
  2. הוסף הפניה לספרייה (ייבא את הספרייה) לפרויקט C# שלך.
  3. פתח את קובץ המקור PDF ב C#.
  4. דחוס PDF מבלי לאבד איכות.
  5. קרא לשיטת Document.Cleanup(). הקוד שיתקבל עשוי להשתנות בהתאם לפורמט קובץ הפלט.
  6. קבל את התוצאה הדחוסה כקובץ PDF.

ספריית C# כדי לייעל ולדחוס PDF קבצים

ישנן שלוש אפשרויות חלופיות להתקנת "Aspose.Words עבור .NET" במערכת שלך. אנא בחר אחד שדומה לצרכים שלך ופעל לפי ההוראות המפורטות:

דרישות מערכת

המוצר שלנו הוא חוצה פלטפורמות לחלוטין ותומך בכל ההטמעות העיקריות של NET.

  • .NET ≥ 5.0
  • .NET Core ≥ 2.0
  • .NET Standard ≥ 2.0
  • .NET Framework ≥ 3.5
  • MonoMac
  • MonoAndroid
  • Xamarin

ככל שקוד .NET אינו תלוי בחומרה או במערכת ההפעלה הבסיסית, אלא רק במכונה וירטואלית, אתה חופשי לפתח כל סוג של תוכנה עבור Windows, macOS, Android, iOS ו-Linux. רק ודא שהתקנת את הגרסה המתאימה של .NET Framework, .NET Core, Windows Azure, Mono או Xamarin.

אנו ממליצים להשתמש בסביבות פיתוח משולבות של Microsoft Visual Studio, Xamarin ו-MonoDevelop ליצירת יישומי C#, F#, VB.NET.

לפרטים נוספים, עיין בתיעוד המוצר.

אופטימיזציות אחרות של פורמט קבצים נתמכות

אתה יכול לבצע אופטימיזציה של קבצים בפורמטים רבים אחרים של קבצים:

5%

הירשם לעדכוני מוצר Aspose

קבל ניוזלטרים והצעות חודשיים שנשלחו ישירות לתיבת הדואר שלך.

© Aspose Pty Ltd 2001-2024. כל הזכויות שמורות.