2

我正在使用此代码将 pdf 文件合并到 pdf 的开头,但想将其设置为现有 pdf 的第二页。

我怎么做 ?这个怎么办?

我已经花了几天时间,但没有运气。

public static string MergeFiles(string destinationFile, string[] sourceFiles)
{
    try
    {
        string NewFileName = "InspectionReport" + DateTime.Now.ToString("ddMMMyyyy HHmmss").Replace(" ", "");
        destinationFile = HostingEnvironment.MapPath(@"/Downloads/Files/" + NewFileName + ".pdf");

        int f = 0;

        PdfReader reader = new PdfReader(sourceFiles[f]);

        int n = reader.NumberOfPages;

        Document document = new Document(reader.GetPageSizeWithRotation(1));

        PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(destinationFile, FileMode.Create));

        document.Open();
        PdfContentByte cb = writer.DirectContent;
        PdfImportedPage page;
        int rotation;

        while (f < sourceFiles.Length)
        {
            int i = 0;
            while (i < n)
            {
                i++;
                document.SetPageSize(reader.GetPageSizeWithRotation(i));
                document.NewPage();
                page = writer.GetImportedPage(reader, i);
                rotation = reader.GetPageRotation(i);
                if (rotation == 90 || rotation == 270)
                {
                    cb.AddTemplate(page, 0, -1f, 1f, 0, 0, reader.GetPageSizeWithRotation(i).Height);
                }
                else
                {
                    cb.AddTemplate(page, 1f, 0, 0, 1f, 0, 0);
                }

            }
            f++;
            if (f < sourceFiles.Length)
            {
                reader = new PdfReader(sourceFiles[f]);

                n = reader.NumberOfPages;

            }
        }

        document.Close();
    }
    catch (Exception e)
    {
        string strOb = e.Message;
    }

    return destinationFile;
}

现在,它只附加在顶部,我想不出添加到现有 pdf 的第二页的方法。

4

0 回答 0