รหัสที่จะบีบอัด PDF ใน C#

ไลบรารี .NET ประสิทธิภาพสูงเพื่อเพิ่มประสิทธิภาพเนื้อหาและขนาด PDF โดยรักษาคุณภาพดั้งเดิมและข้อมูลพื้นฐาน

นี่เป็นโซลูชันระดับมืออาชีพในการบีบอัด PDF โดยใช้ C#, F#, VB.NET ใช้ PDF API การเพิ่มประสิทธิภาพของเราเพื่อพัฒนาซอฟต์แวร์ระดับสูงที่ไม่ขึ้นกับแพลตฟอร์มสำหรับแพลตฟอร์ม .NET และ .NET Core ลองออนไลน์ฟรี!

ดูข้อมูลโค้ด

บีบอัด PDF ใน C#

ไลบรารี C# นี้ช่วยให้นักพัฒนาสามารถบีบอัดเอกสาร PDF ทางโปรแกรมได้อย่างรวดเร็วและมีประสิทธิภาพ รับเอาต์พุต PDF ที่ปรับให้เหมาะสมที่สุดอย่างง่ายดายพร้อมสำหรับการพิมพ์ เก็บถาวร หรือแชร์ผ่านเครือข่าย เป็นโซลูชันการประมวลผลเอกสาร PDF แบบสแตนด์อโลนสำหรับ C# ที่ไม่ต้องติดตั้งซอฟต์แวร์ของบุคคลที่สาม

ลดขนาด PDF โดยใช้ C#

ผลิตภัณฑ์ของเรามี API แบบบูรณาการสำหรับนักพัฒนา C# เพื่อลดขนาดไฟล์ PDF การบีบอัด PDF ดำเนินการในสองรอบ ในระหว่างการผ่านครั้งแรก ทุกหน้าของ PDF จะถูกแปลงเป็นรูปแบบภาพ ผลิตภัณฑ์ของเราใช้อัลกอริธึมการบีบอัดรูปภาพที่ปรับเปลี่ยนได้และมีประสิทธิภาพสูง ซึ่งช่วยให้นักพัฒนาได้รับเอาต์พุต PDF ขนาดกะทัดรัดในขณะที่ยังคงคุณภาพที่ดีที่สุดของเอกสาร ในรอบถัดไป ลำดับของรูปภาพจะถูกบีบอัดและรวมกันเพื่อสร้างเนื้อหาของไฟล์ PDF ใหม่ที่ได้รับการปรับให้เหมาะสม

การบีบอัด PDF ทำได้ง่ายด้วย 'Aspose.Words for .NET' ตัวอย่างต่อไปนี้สาธิตวิธีการลดขนาดไฟล์ PDF ใน C#:

ตัวอย่างโค้ดใน C# เพื่อบีบอัด PDF files
อัปโหลดไฟล์ที่คุณต้องการเพิ่มประสิทธิภาพ/บีบอัด
รันโค้ด
เลือกรูปแบบเป้าหมายจากรายการ
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)
{
           // กำหนดขนาดหน้าสูงสุดเพื่อหลีกเลี่ยงการปรับขนาดภาพหน้าปัจจุบัน
    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 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) { // กำหนดขนาดหน้าสูงสุดเพื่อหลีกเลี่ยงการปรับขนาดภาพหน้าปัจจุบัน 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; }
รันโค้ด

วิธีบีบอัด PDF

  1. ติดตั้ง Aspose.Words for .NET
  2. เพิ่มการอ้างอิงไลบรารี (นำเข้าไลบรารี) ไปยังโปรเจ็กต์ C# ของคุณ
  3. เปิดไฟล์ต้นทาง PDF ใน C#
  4. บีบอัด PDF โดยไม่สูญเสียคุณภาพ
  5. เรียกเมธอด Document.Cleanup() รหัสผลลัพธ์อาจแตกต่างกันไปขึ้นอยู่กับรูปแบบไฟล์ที่ส่งออก
  6. รับผลลัพธ์ที่บีบอัดเป็นไฟล์ PDF

C# ไลบรารีเพื่อเพิ่มประสิทธิภาพและบีบอัด PDF ไฟล์

มีทางเลือกสามทางในการติดตั้ง "Aspose.Words for .NET" ลงในระบบของคุณ โปรดเลือกหนึ่งรายการที่ตรงกับความต้องการของคุณและทำตามคำแนะนำทีละขั้นตอน:

ความต้องการของระบบ

ผลิตภัณฑ์ของเราสามารถข้ามแพลตฟอร์มได้อย่างสมบูรณ์และรองรับการใช้งาน .NET หลักๆ ทั้งหมด:

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

ตราบใดที่โค้ด .NET ไม่ได้ขึ้นอยู่กับฮาร์ดแวร์หรือระบบปฏิบัติการพื้นฐาน แต่เฉพาะบน Virtual Machine เท่านั้น คุณมีอิสระที่จะพัฒนาซอฟต์แวร์ทุกประเภทสำหรับ Windows, macOS, Android, iOS และ Linux เพียงตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง .NET Framework, .NET Core, Windows Azure, Mono หรือ Xamarin เวอร์ชันที่เกี่ยวข้อง

เราขอแนะนำให้ใช้ Microsoft Visual Studio, Xamarin และ MonoDevelop สภาพแวดล้อมการพัฒนาแบบรวมเพื่อสร้างแอปพลิเคชัน C#, F#, VB.NET

รายละเอียดเพิ่มเติมโปรดดูที่ เอกสารประกอบผลิตภัณฑ์

การเพิ่มประสิทธิภาพรูปแบบไฟล์อื่นๆ ที่รองรับ

คุณสามารถปรับไฟล์ให้เหมาะสมในรูปแบบไฟล์อื่นๆ ได้มากมาย:

5%

สมัครสมาชิก Aspose Product Updates

รับจดหมายข่าวและข้อเสนอรายเดือนที่ส่งตรงถึงกล่องจดหมายของคุณ