首頁 >後端開發 >C++ >如何在 C# 中合併 PDF 時消除多餘的空格?

如何在 C# 中合併 PDF 時消除多餘的空格?

Patricia Arquette
Patricia Arquette原創
2024-12-29 03:55:10348瀏覽

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

如何刪除合併時的空白

問題:
合併多個 PDF文件時,每個頁面都被視為整頁,即使只有少量內容,導致合併後出現垂直空白

解決方案:

使用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)
    }
}

使用PageVerticalAnalyzer 類別(C#)

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

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

收集檔案的程式碼並執行該工具(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())
    }
}

以上是如何在 C# 中合併 PDF 時消除多餘的空格?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn