我正在尝试将多个TIFF(多页)图像合并到一个PDF中,该PDF具有与合并的tiff相同的页面数。
使用 PDFsharp 库, 我正在合并2张TIFF图像,每张图像有100页。
问题是第一张图像被完美复制到PDF中,但是从第101页开始,所有页面都是空白。即从第二张TIFF图像开始的所有PDF页面都是空白。
我不确定导致此问题的原因,有人可以帮助我解决此问题吗?
这是我的代码。 filePathWithFileName
将具有包含多个TIFF图像的Zip文件夹的路径。
private static void MergeTiffToPDF(string filePathWithFileName)
{
string[] sa;
sa = Directory.GetFiles(filePathWithFileName.Substring(0, filePathWithFileName.LastIndexOf('.')));
string destinaton = "C:\\Users\\someuser\\Desktop\\PDF_TIF_Document.pdf";
PdfDocument doc = new PdfDocument();
foreach (string s in sa)
{
Image MyImage = Image.FromFile(s);
for (int PageIndex = 0; PageIndex < MyImage.GetFrameCount(FrameDimension.Page); PageIndex++)
{
MyImage.SelectActiveFrame(FrameDimension.Page, PageIndex);
XImage img = XImage.FromGdiPlusImage(MyImage);
var page = new PdfPage();
if (img.PixelWidth > img.PixelHeight)
{
page.Orientation = PageOrientation.Landscape;
}
else
{
page.Orientation = PageOrientation.Portrait;
}
doc.Pages.Add(page);
XGraphics xgr = XGraphics.FromPdfPage(doc.Pages[PageIndex]);
xgr.DrawImage(img, 0, 0);
xgr.Dispose();
}
doc.AddPage();
MyImage.Dispose();
}
doc.Save(destinaton);
doc.Close();
}
答案 0 :(得分:0)
问题出在这里
XGraphics xgr = XGraphics.FromPdfPage(doc.Pages[PageIndex]);
您必须添加101才能在第二个文件的正确页面上绘制。
您会在第1页到第100页上看到第二个文件的图像,而第一个文件中的图像被隐藏了。