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
Lepaskan: 2024-12-29 03:55:10
asal
404 orang telah melayarinya

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)
    }
}
Salin selepas log masuk

Menggunakan Kelas PageVerticalAnalyzer (C#):

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

    // ... (rest of the methods)
}
Salin selepas log masuk

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())
    }
}
Salin selepas log masuk

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 Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan