این یک راه حل حرفه ای برای فشرده سازی PDF با استفاده از C#, F#, VB.NET است. از API بهینهسازی PDF ما برای توسعه نرمافزار سطح بالا و مستقل از پلتفرم برای پلتفرمهای .NET و .NET Core استفاده کنید. آن را به صورت آنلاین به صورت رایگان امتحان کنید!
این کتابخانه C# به توسعه دهندگان این امکان را می دهد که اسناد PDF را به سرعت و کارآمد فشرده کنند. به راحتی خروجی PDF بهینه شده را برای چاپ، بایگانی یا اشتراک گذاری از طریق شبکه آماده کنید. این یک راه حل مستقل پردازش اسناد PDF برای C# است که نیازی به نصب نرم افزار شخص ثالث ندارد.
محصول ما به توسعه دهندگان C# یک API یکپارچه برای کاهش اندازه فایل های PDF ارائه می دهد. فشرده سازی PDF در دو پاس انجام می شود. در طی اولین پاس، تمام صفحات PDF به فرمت تصویر تبدیل می شوند. محصول ما از الگوریتمهای فشردهسازی تصویر تطبیقی و بسیار کارآمد استفاده میکند که به توسعهدهندگان اجازه میدهد با حفظ کیفیت مطلوب سند، خروجی فشرده PDF را دریافت کنند. در پاس بعدی، توالی تصاویر فشرده شده و ترکیب می شود تا محتوای یک فایل PDF جدید و بهینه شده را تشکیل دهد.
فشردهسازی PDF با "Aspose.Words برای .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" بر روی سیستم شما وجود دارد. لطفاً یکی را انتخاب کنید که شبیه نیازهای شما باشد و دستورالعمل های گام به گام را دنبال کنید:
محصول ما کاملاً کراس پلتفرم است و از تمامی پیاده سازی های اصلی دات نت پشتیبانی می کند:
تا آنجا که کد دات نت به سخت افزار یا سیستم عامل اصلی بستگی ندارد، بلکه فقط به یک ماشین مجازی بستگی دارد، شما می توانید هر نوع نرم افزاری را برای Windows، macOS، Android، iOS و Linux توسعه دهید. فقط مطمئن شوید که نسخه مربوطه .NET Framework, .NET Core, Windows Azure, Mono یا Xamarin را نصب کرده اید.
توصیه می کنیم از محیط های توسعه یکپارچه Microsoft Visual Studio، Xamarin و MonoDevelop برای ایجاد برنامه های C#, F#, VB.NET استفاده کنید.
برای جزئیات بیشتر لطفاً به مستندات محصول مراجعه کنید.
شما می توانید فایل ها را در بسیاری از فرمت های فایل دیگر بهینه سازی کنید: