Spire.Pdf.PdfDocument doc1 = new Spire.Pdf.PdfDocument();
doc1.LoadFromFile(openFileDialog.FileName);//加载第一个PDF
Spire.Pdf.PdfDocument doc2 = new Spire.Pdf.PdfDocument();
doc2.LoadFromFile(openbmpDialog.FileName);//加载第二个PDF
//创建模板
Spire.Pdf.Graphics.PdfTemplate template = doc1.Pages[0].CreateTemplate();
foreach (PdfPageBase page in doc2.Pages)
{
//设置透明度和重叠样式
page.Canvas.SetTransparency(1f, 1f, PdfBlendMode.Darken);
//将第一个页面的内容写人第二个页面,并设置其位置
page.Canvas.DrawTemplate(template, new PointF(0f, 0f));
}
//保存文档
string pdfsave = Path.GetDirectoryName(openbmpDialog.FileName) + "\\newpdf.pdf";
doc2.SaveToFile(pdfsave, FileFormat.PDF);//先导出PDF文件,
string pssave = Path.GetDirectoryName(openbmpDialog.FileName) + "\\newps.ps";
doc2.SaveToFile(pssave, FileFormat.POSTSCRIPT);//再导出postscript文件
doc1.Dispose();
doc2.Dispose();
PDF文件显示正常
postscript文件只显示最上边一层
改下这句代码试试:page.Canvas.SetTransparency(1f, 1f, PdfBlendMode.Overlay);
使用Overlay还是不行,而且PDF里蓝色底图也模糊了-_-||