Kode untuk mengompresi PDF dalam C#

Pustaka .NET berkinerja tinggi untuk mengoptimalkan PDF konten dan ukuran dengan mempertahankan kualitas asli dan data dasar

Ini adalah solusi profesional untuk mengompres PDF menggunakan C#, F#, VB.NET. Gunakan PDF API pengoptimalan kami untuk mengembangkan perangkat lunak tingkat tinggi yang tidak bergantung pada platform untuk platform .NET dan .NET Core. Cobalah secara online gratis!

Lihat cuplikan kode

Kompres PDF dalam C#

Pustaka C# ini memberi pengembang kemampuan untuk dengan cepat dan efisien mengompresi PDF dokumen secara terprogram. Dapatkan hasil PDF yang dioptimalkan dengan mudah untuk dicetak, diarsipkan, atau dibagikan melalui jaringan. Ini adalah solusi pemrosesan PDF dokumen mandiri untuk C# yang tidak memerlukan perangkat lunak pihak ketiga untuk diinstal.

Kurangi ukuran PDF menggunakan C#

Produk kami menyediakan pengembang C# dengan API terintegrasi untuk mengurangi ukuran PDF file. Kompresi PDF dilakukan dalam dua lintasan. Selama lintasan pertama, semua halaman PDF dikonversi ke format gambar. Produk kami menggunakan algoritme kompresi gambar adaptif dan sangat efisien yang memungkinkan pengembang mendapatkan keluaran PDF yang ringkas sambil mempertahankan kualitas dokumen yang optimal. Pada langkah berikutnya, urutan gambar dikompresi dan digabungkan untuk membentuk konten PDF file baru yang dioptimalkan.

Kompresi PDF menjadi mudah dengan 'Aspose.Words for .NET'. Contoh berikut menunjukkan cara mengurangi ukuran PDF file dalam C#:

Contoh kode di C# untuk mengompresi PDF file
Unggah file yang ingin Anda optimalkan/kompres
Jalankan kode
Pilih format target dari daftar
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)
{
    // Setel ukuran halaman maksimum untuk menghindari penskalaan gambar halaman saat ini.
    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) { // Terserah pengembang untuk memilih perpustakaan untuk kompresi gambar. using var image = Image.FromStream(shape.ImageData.ToStream()); // ... // Kompres gambar dan atur kembali ke bentuk. 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) { // Terserah pengembang untuk memilih perpustakaan untuk kompresi gambar. using var image = Image.Fromstream(shape.ImageData.ToStream()); // ... // Kompres gambar dan atur kembali ke bentuk. 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) { // Terserah pengembang untuk memilih perpustakaan untuk kompresi gambar. using var image = Image.FromStream(shape.ImageData.ToStream()); // ... // Kompres gambar dan atur kembali ke bentuk. 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"); // Perbarui pengaturan halaman untuk memotong dokumen agar sesuai dengan ukuran gambar. 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) { // Setel ukuran halaman maksimum untuk menghindari penskalaan gambar halaman saat ini. 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; }
Jalankan kode

Cara kompres PDF C#

  1. Instal Aspose.Words for .NET.
  2. Tambahkan referensi perpustakaan (impor perpustakaan) ke proyek C# Anda.
  3. Buka sumber PDF file di C#.
  4. Kompres PDF tanpa kehilangan kualitas.
  5. Panggil metode Document.Cleanup(). Kode yang dihasilkan dapat bervariasi tergantung pada format file output.
  6. Dapatkan hasil terkompresi sebagai PDF file.

C# perpustakaan untuk mengoptimalkan dan mengompresi PDF file

Ada tiga opsi alternatif untuk menginstal "Aspose.Words untuk .NET" ke sistem Anda. Silakan pilih salah satu yang sesuai dengan kebutuhan Anda dan ikuti petunjuk langkah demi langkah:

Persyaratan sistem

Produk kami sepenuhnya lintas platform dan mendukung semua implementasi .NET utama:

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

Sejauh kode .NET tidak bergantung pada perangkat keras atau sistem operasi yang mendasarinya, tetapi hanya pada Mesin Virtual, Anda bebas mengembangkan perangkat lunak apa pun untuk Windows, macOS, Android, iOS, dan Linux. Pastikan Anda telah menginstal versi .NET Framework, .NET Core, Windows Azure, Mono , atau Xamarin yang sesuai.

Kami merekomendasikan penggunaan lingkungan pengembangan terintegrasi Microsoft Visual Studio, Xamarin, dan MonoDevelop untuk membuat aplikasi C#, F#, VB.NET.

Untuk lebih jelasnya silakan lihat Dokumentasi Produk.

Pengoptimalan format file lain yang didukung

Anda dapat mengoptimalkan file dalam banyak format file lainnya:

5%

Berlangganan Pembaruan Produk Aspose

Dapatkan buletin bulanan dan penawaran langsung dikirim ke kotak surat Anda.

© Aspose Pty Ltd 2001-2024. Seluruh hak cipta.