Това е професионално решение за компресиране на 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 приложения.
За повече подробности, моля, вижте продуктовата документация.
Можете да оптимизирате файлове в много други файлови формати: