使用iTextsharp合并PDF时如何解决尺寸问题

时间:2018-12-13 13:08:05

标签: c# .net pdf itext

我需要合并多个具有可变大小的PDF文件。我正在使用iTextsharp和c#进行合并。但是输出图像PDF缩小到文件的一角。请参阅随附的图片和代码。有什么解决办法吗?

try
            {

                int f = 0;
                string destinationFileUrl = Path.Combine(destinationUrl, destinationFile);
                PdfReader reader = new PdfReader(sourceFiles[f]);
                int n = reader.NumberOfPages;
                Document document = new Document(reader.GetPageSizeWithRotation(1));
                PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(destinationFileUrl, FileMode.Create));
                document.Open();
                PdfContentByte cb = writer.DirectContent;
                PdfImportedPage page;
                int rotation;
                while (f < sourceFiles.Count)
                {

                    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.Count)
                    {
                        reader = new PdfReader(sourceFiles[f]);
                        n = reader.NumberOfPages;
                    }
                }
                document.Close();
                if (File.Exists(destinationFileUrl))
                    mergeResult = true;
            }

enter image description here

0 个答案:

没有答案