זהו פתרון מקצועי לדחיסת PDF באמצעות C#, F#, VB.NET. השתמש ב PDF ממשק API לאופטימיזציה שלנו כדי לפתח תוכנה ברמה גבוהה, בלתי תלויה בפלטפורמה, עבור פלטפורמות .NET ו-. .NET Core. נסה את זה באינטרנט בחינם!
ספריית C# זו מספקת למפתחים את היכולת לדחוס במהירות וביעילות מסמכי PDF באופן פרוגרמטי. קבל בקלות פלט PDF אופטימלי מוכן להדפסה, אחסון בארכיון או שיתוף ברשת. זהו פתרון עצמאי לעיבוד מסמכי PDF עבור C# שאינו מצריך התקנת תוכנת צד שלישי.
המוצר שלנו מספק למפתחי C# API משולב כדי להקטין את הגודל של קבצי PDF. דחיסת PDF מתבצעת בשני מעברים. במהלך המעבר הראשון, כל דפי ה PDF מומרים לפורמט תמונה. המוצר שלנו משתמש באלגוריתמים אדפטיביים ויעילים ביותר של דחיסת תמונה המאפשרים למפתחים לקבל פלט PDF קומפקטי תוך שמירה על איכות אופטימלית של המסמך. במעבר הבא, רצף התמונות נדחס ומשולב ליצירת תוכן של קובץ PDF חדש ומותאם.
דחיסת PDF קלה עם 'Aspose.Words for .NET'. הדוגמה הבאה מדגימה כיצד להקטין את הגודל של קובץ PDF ב C#:
dotnet add package Aspose.Words
עותק
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 saveOptions = new ImageSaveOptions(SaveFormat.Pdf)
{
};
shape.GetShapeRenderer().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;
}
ישנן שלוש אפשרויות חלופיות להתקנת "Aspose.Words עבור .NET" במערכת שלך. אנא בחר אחד שדומה לצרכים שלך ופעל לפי ההוראות המפורטות:
המוצר שלנו הוא חוצה פלטפורמות לחלוטין ותומך בכל ההטמעות העיקריות של NET.
ככל שקוד .NET אינו תלוי בחומרה או במערכת ההפעלה הבסיסית, אלא רק במכונה וירטואלית, אתה חופשי לפתח כל סוג של תוכנה עבור Windows, macOS, Android, iOS ו-Linux. רק ודא שהתקנת את הגרסה המתאימה של .NET Framework, .NET Core, Windows Azure, Mono או Xamarin.
אנו ממליצים להשתמש בסביבות פיתוח משולבות של Microsoft Visual Studio, Xamarin ו-MonoDevelop ליצירת יישומי C#, F#, VB.NET.
לפרטים נוספים, עיין בתיעוד המוצר.
אתה יכול לבצע אופטימיזציה של קבצים בפורמטים רבים אחרים של קבצים: