iTextSharp / PdfStamper - 一些页面向下和向右移动

时间:2015-10-12 02:09:18

标签: itextsharp pdfstamper

iTextSharp V5.0.2。此代码在95%的时间内完美运行。但是客户端加载的一些横向pdf向下移动到左侧。我可以看到Rectangle属性.Left和.Bottom中的数量,但我不知道如何解决这个问题。这是在每个页面的顶部添加标题。

我想将内容重新向上移动到左侧和顶部,以便所有内容都关闭,因此标题与页面顶部齐平

public string Add(string path)
{
        string tempPath = path + "HFtemp";
        PdfStamper pdf = new PdfStamper(new PdfReader(path), new FileStream(tempPath, FileMode.Create));

        for (Int32 nPage = 1; nPage <= pdf.Reader.NumberOfPages; nPage++)
        {
            if ((Header))
            {
                PdfContentByte content = pdf.GetOverContent(nPage);

                Rectangle pageRectangle = pdf.Reader.GetPageSizeWithRotation(nPage);
                float h = pageRectangle.Height;
                float w = pageRectangle.Width;
                //float left = pageRectangle.Left;      //(-) 13.011
                //float bottom = pageRectangle.Bottom;  //(+) 13.011

                float y = h - Header_Height;
                // x, y, w, h
                content.Rectangle(0, y, w, Header_Height);

                content.SetRGBColorFill(Header_Color.R, Header_Color.G, Header_Color.B);
                content.Fill();
                content.SaveState();
                content.RestoreState();
            }

        }
        pdf.Close();
        return tempPath;
    }

这是坏文件的样子。即使我将x和y设置为正确的值,文档的x和y也会关闭。

Here's what the bad ones look like

0 个答案:

没有答案