Ez egy professzionális megoldás a PDF tömörítésére C#, F#, VB.NET használatával. Használja PDF optimalizálási API nkat magas szintű, platformfüggetlen szoftverek fejlesztéséhez .NET és .NET Core platformokhoz. Próbáld ki online ingyen!
Ez a C# könyvtár lehetővé teszi a fejlesztők számára, hogy programozottan gyorsan és hatékonyan tömörítsék a PDF dokumentumokat. Könnyen elkészítheti az optimalizált PDF kimenetet a nyomtatáshoz, archiváláshoz vagy a hálózaton keresztüli megosztáshoz. Ez egy önálló PDF dokumentum-feldolgozó megoldás a C# számára, amelyhez nincs szükség harmadik féltől származó szoftverek telepítésére.
Termékünk a C# fejlesztők számára integrált API t biztosít a PDF fájlok méretének csökkentésére. A PDF tömörítés két lépésben történik. Az első lépés során a PDF összes oldala képformátumra konvertálódik. Termékünk adaptív és rendkívül hatékony képtömörítési algoritmusokat használ, amelyek lehetővé teszik a fejlesztők számára, hogy kompakt PDF kimenetet kapjanak, miközben megőrzik a dokumentum optimális minőségét. A következő lépésben a képsorozatot tömörítik, és egy új, optimalizált PDF fájl tartalmát egyesítik.
A PDF tömörítés egyszerűbbé válik az 'Aspose.Words for .NET'. A következő példa bemutatja, hogyan csökkenthető a PDF fájl mérete C#:
dotnet add package Aspose.Words
Másolat
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)
{
// Állítsa be a maximális oldalméretet, hogy elkerülje az aktuális oldalkép méretezését.
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)
{
// A fejlesztőn múlik, hogy kiválasztja-e a könyvtárat a képtömörítéshez.
using var image = Image.FromStream(shape.ImageData.ToStream());
// ...
// Tömörítse a képet, és állítsa vissza az alakzatba.
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)
{
// A fejlesztőn múlik, hogy kiválasztja-e a könyvtárat a képtömörítéshez.
using var image = Image.Fromstream(shape.ImageData.ToStream());
// ...
// Tömörítse a képet, és állítsa vissza az alakzatba.
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)
{
// A fejlesztőn múlik, hogy kiválasztja-e a könyvtárat a képtömörítéshez.
using var image = Image.FromStream(shape.ImageData.ToStream());
// ...
// Tömörítse a képet, és állítsa vissza az alakzatba.
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)
{
// Állítsa be a maximális oldalméretet, hogy elkerülje az aktuális oldalkép méretezését.
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;
}
Három alternatív lehetőség van az "Aspose.Words for .NET" telepítésére a rendszerre. Kérjük, válasszon egyet, amely megfelel az Ön igényeinek, és kövesse a lépésről lépésre található utasításokat:
Termékünk teljes mértékben platformfüggetlen, és támogatja az összes főbb .NET implementációt:
Ami a .NET-kódot illeti, nem függ a mögöttes hardvertől vagy operációs rendszertől, hanem csak egy virtuális gépen, szabadon fejleszthet bármilyen szoftvert Windows, macOS, Android, iOS és Linux rendszerre. Csak győződjön meg arról .NET Framework, .NET Core, Windows Azure, Mono vagy Xamarin megfelelő verzióját telepítette.
C#, F#, VB.NET alkalmazások létrehozásához javasoljuk a Microsoft Visual Studio, Xamarin és MonoDevelop integrált fejlesztői környezetek használatát.
További részletekért lásd a Termékdokumentációt.
Számos más fájlformátumban is optimalizálhatja a fájlokat: