You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用iText批量合并PDF并添加页码时出现文本错位反转问题的技术求助

iText批量合并PDF并添加页码时出现文本错位反转问题的技术求助

各位同行们好,我最近在做PDF批量处理的需求时碰到了个头疼的问题,想请教下大家的经验:

我的需求很明确:把目录里300-400个PDF文件按文件名排序后合并成一个,再给合并后的文件加上连续的页码(页码要对应合并后的总页数)。

目前合并的部分已经跑通了,代码逻辑是先读取目录文件、排序文件名,然后逐个用iText的PdfMerger合并,代码如下:

foreach (var file in projectFiles)
{
    PdfDocument projectPdf = new PdfDocument(new PdfReader(file));
    merger.Merge(projectPdf, 1, projectPdf.GetNumberOfPages());
    currentPage += projectPdf.GetNumberOfPages();
    projectPdf.Close();
}

合并好的PDF用阅读器打开显示完全正常,但当我调用自己写的AddPageNumbers函数添加页码后,怪事就发生了——页码文本出现了错位甚至反转的情况!这个添加页码的函数我只写了一部分,核心代码如下:

public static void AddPageNumbers(PdfDocument pdfDoc, int totalPages)
{
        Document doc = new Document(pdfDoc);
        int currentPage = 1;
        
        for (int i = 1; i <= pdfDoc.GetNumberOfPages(); i++)
        {
            var currentPagePara = new Paragraph((currentPage).ToString())
                .SetFontSize(10);
            // 这里原本还有设置段落位置(比如页面底部居中)的代码,暂时省略了
            doc.Add(currentPagePara);
            currentPage++;
        }
        doc.Close();
}

我反复检查了合并后的源文件,确实没有显示问题,但一加页码就出状况,有没有大佬遇到过类似的坑?或者能帮我分析下可能的原因,给点修复的思路吗?

备注:内容来源于stack exchange,提问作者Kal800

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 14:58:01