public void PreparePdfPage()
        {
            // 创建新的一页
            var leftWhite = (_document.GetPdfDocument().GetDefaultPageSize().GetWidth() - _paperColumn * _envelopeResponse.ProductWidth.MMtoPix()) / 2;
            var topWhite  = (_document.GetPdfDocument().GetDefaultPageSize().GetHeight() - _paperRow * _envelopeResponse.ProductHeight.MMtoPix()) / 2;

            // 添加辅助线
            var pdfCanvas = new PdfCanvas(_document.GetPdfDocument(), FrontPageNumber);

            pdfCanvas.SetLineDash(10).SetColor(new DeviceGray(1), true);


            // 画竖线
            for (var i = 0; i <= _paperColumn; i++)
            {
                pdfCanvas
                .MoveTo(leftWhite + i * _envelopeResponse.ProductWidth.MMtoPix(), 0)
                .LineTo(leftWhite + i * _envelopeResponse.ProductWidth.MMtoPix(), topWhite - 5)
                .MoveTo(leftWhite + i * _envelopeResponse.ProductWidth.MMtoPix(), _document.GetPdfDocument().GetDefaultPageSize().GetHeight())
                .LineTo(leftWhite + i * _envelopeResponse.ProductWidth.MMtoPix(), _document.GetPdfDocument().GetDefaultPageSize().GetHeight() - topWhite + 5);
            }

            for (var j = 0; j <= _paperRow; j++)
            {
                pdfCanvas
                .MoveTo(y: topWhite + j * _envelopeResponse.ProductHeight.MMtoPix(), x: 0)
                .LineTo(y: topWhite + j * _envelopeResponse.ProductHeight.MMtoPix(), x: leftWhite - 5)
                .MoveTo(y: topWhite + j * _envelopeResponse.ProductHeight.MMtoPix(), x: _document.GetPdfDocument().GetDefaultPageSize().GetWidth())
                .LineTo(y: topWhite + j * _envelopeResponse.ProductHeight.MMtoPix(), x: _document.GetPdfDocument().GetDefaultPageSize().GetWidth() - leftWhite + 5);
            }


            pdfCanvas.Stroke();
            var fontPath = "";

            if (Process.GetCurrentProcess().MainModule is ProcessModule processModule)
            {
                fontPath = new FileInfo(processModule.FileName).DirectoryName + @"/STKAITI.TTF";
            }

            // 添加水印
            var pdfFont = PdfFontFactory.CreateFont(fontPath, PdfEncodings.IDENTITY_H, false); // 列

            // 上方的水印
            _document.Add(new Paragraph(_waterMark)
                          .SetFont(pdfFont)
                          .SetFontSize(8)
                          .SetFontColor(_urgent ? DeviceRgb.RED : DeviceRgb.BLACK)
                          .SetPageNumber(FrontPageNumber)
                          .SetFixedPosition(
                              leftWhite + 10,
                              _document.GetPdfDocument().GetDefaultPageSize().GetHeight() - topWhite,
                              _document.GetPdfDocument().GetDefaultPageSize().GetWidth() - leftWhite - 10));

            // 左下方的水印
            _document.Add(new Paragraph(_waterMark)
                          .SetFont(pdfFont)
                          .SetFontSize(8)
                          .SetRotationAngle(Math.PI / 2)
                          .SetFontColor(_urgent ? DeviceRgb.RED : DeviceRgb.BLACK)
                          .SetPageNumber(FrontPageNumber)
                          .SetFixedPosition(
                              leftWhite,
                              topWhite + 10,
                              _document.GetPdfDocument().GetDefaultPageSize().GetHeight() - leftWhite - 10));

            if (_envelopeResponse.DoubleSide)
            {
                _document.Add(new Paragraph("反面样式【" + _envelopeResponse.BackStyle + "】")
                              .SetFont(pdfFont)
                              .SetFontSize(8)
                              .SetFontColor(DeviceRgb.BLACK)
                              .SetPageNumber(BackPageNumber)
                              .SetFixedPosition(
                                  leftWhite + (_paperColumn - 1) * _envelopeResponse.ProductWidth.MMtoPix() + 10,
                                  _document.GetPdfDocument().GetDefaultPageSize().GetHeight() - topWhite,
                                  _document.GetPdfDocument().GetDefaultPageSize().GetWidth() - leftWhite - 10));

                // 左下方的水印
                _document.Add(new Paragraph("反面样式【" + _envelopeResponse.BackStyle + "】")
                              .SetFont(pdfFont)
                              .SetFontSize(8)
                              .SetRotationAngle(Math.PI / 2)
                              .SetFontColor(DeviceRgb.BLACK)
                              .SetPageNumber(BackPageNumber)
                              .SetFixedPosition(
                                  leftWhite,
                                  topWhite + 10,
                                  _document.GetPdfDocument().GetDefaultPageSize().GetHeight() - leftWhite - 10));
            }

            // 正面
            // 行
            for (var i = 0; i < _paperRow; i++)
            {
                // 列
                for (var j = 0; j < _paperColumn; j++)
                {
                    var currentIndex = i * _paperColumn + j;
                    if (currentIndex >= _postCardResponses.Count)
                    {
                        continue;
                    }

                    var postCard = _postCardResponses[currentIndex];

                    // 正面
                    var fileId = postCard.ProductFileId;
                    if (!string.IsNullOrEmpty(fileId))
                    {
                        var frontFile = new FileInfo(_templateDirectoryInfo.FullName + "/" + fileId);
                        if (!frontFile.Exists)
                        {
                            frontFile = FileApi.DownloadFileByFileId(fileId, frontFile);
                        }

                        var frontImage = new Image(ImageDataFactory.Create(frontFile.FullName));
                        // 转化尺寸
                        frontImage.ScaleAbsolute(_envelopeResponse.ProductWidth.MMtoPix(), _envelopeResponse.ProductHeight.MMtoPix());
                        frontImage.SetPageNumber(FrontPageNumber);

                        // 坐标po
                        frontImage.SetFixedPosition(
                            leftWhite + j * _envelopeResponse.ProductWidth.MMtoPix(),
                            topWhite + i * _envelopeResponse.ProductHeight.MMtoPix());
                        _document.Add(frontImage);
                    }

                    // 反面
                    var backFileId = postCard.BackProductFileId;
                    if (!string.IsNullOrEmpty(backFileId))
                    {
                        var backFileInfo = new FileInfo(_templateDirectoryInfo.FullName + "/" + backFileId);
                        if (!backFileInfo.Exists)
                        {
                            FileApi.DownloadFileByFileId(backFileId, backFileInfo);
                        }

                        var backImage = new Image(ImageDataFactory.Create(backFileInfo.FullName));
                        // 转化尺寸
                        backImage.ScaleAbsolute(_envelopeResponse.ProductWidth.MMtoPix(), _envelopeResponse.ProductHeight.MMtoPix());
                        backImage.SetPageNumber(BackPageNumber);

                        // 坐标po
                        backImage.SetFixedPosition(
                            leftWhite + (_paperColumn - j - 1) * _envelopeResponse.ProductWidth.MMtoPix(),
                            topWhite + i * _envelopeResponse.ProductHeight.MMtoPix());
                        _document.Add(backImage);
                    }
                }
            }
        }