Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Menghapuskan Ruang Putih Berlebihan Apabila Menggabungkan PDF dalam C#?

Bagaimana untuk Menghapuskan Ruang Putih Berlebihan Apabila Menggabungkan PDF dalam C#?

Patricia Arquette
Patricia Arquetteasal
2024-12-29 03:55:10348semak imbas

How to Eliminate Excess Whitespace When Merging PDFs in C#?

Cara Mengalih Keluar Ruang Putih pada Gabungan

Masalah:
Apabila menggabungkan berbilang dokumen PDF, setiap halaman dianggap sebagai halaman penuh walaupun jika hanya terdapat sedikit kandungan, mengakibatkan ruang putih menegak dalam gabungan dokumen.

Penyelesaian:

Menggunakan Kelas PdfVeryDenseMergeTool (C#):

public class PdfVeryDenseMergeTool
{
    // ... (rest of the class)
    protected Rectangle PageSize;
    protected float TopMargin;
    protected float BottomMargin;
    protected float Gap;
    protected Document Document;
    protected PdfWriter Writer;
    protected float YPosition = 0;

    public PdfVeryDenseMergeTool(Rectangle size, float top, float bottom, float gap)
    {
        // ... (rest of the constructor)
    }

    public void Merge(MemoryStream outputStream, List<PdfReader> inputs)
    {
        // ... (rest of the method)
    }
}

Menggunakan Kelas PageVerticalAnalyzer (C#):

public class PageVerticalAnalyzer : IRenderListener
{
    // ... (rest of the class)
    public List<float> VerticalFlips = new List<float>();

    // ... (rest of the methods)
}

Kod untuk Mengumpul Fail dan Menjalankan Alat (C#):

public void TestMergeDocuments()
{
    PdfVeryDenseMergeTool tool = new PdfVeryDenseMergeTool(iTextSharp.text.PageSize.A4, 18, 18, 10);
    List<byte[]> Files = new List<byte[]>();

    // ... (code to load files)

    using (MemoryStream ms = new MemoryStream())
    {
        List<PdfReader> files = new List<PdfReader>();
        foreach (byte[] ba in Files)
        {
            files.Add(new PdfReader(ba));
        }
        tool.Merge(ms, files);
        // ... (save the file using ms.GetBuffer())
    }
}

Atas ialah kandungan terperinci Bagaimana untuk Menghapuskan Ruang Putih Berlebihan Apabila Menggabungkan PDF dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn