0
我有以下代码来合并不同的文档,并创建一个pdf文件。正确地创建文件,但不会在创建的文件上显示文档内容。它看起来像创建页面的数字,但我不能看到它只是空白的文档内容。这到底是怎么错过使用Spire的C#合并pdf不写内容
private void buttonAdd_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "All files (*.docx, *.pdf, *.pptx, *.pdf)| *.docx; *.pdf; *.pptx; *.xlsx";
ofd.Multiselect = true;
if (DialogResult.OK == ofd.ShowDialog())
{
string[] files = ofd.FileNames;
listBoxFiles.Items.AddRange(files);
}
}
这里是文档合并代码
private void buttonMerge_Click(object sender, EventArgs e)
{
//Convert other file formats to PDF file
string ext = string.Empty;
foreach (object item in listBoxFiles.Items)
{
ext = Path.GetExtension(item.ToString());
switch (ext)
{
case ".docx":
using (MemoryStream ms = new MemoryStream())
{
Document doc = new Document(item.ToString());
doc.SaveToStream(ms, Spire.Doc.FileFormat.PDF);
PdfFiles.Add(new PdfDocument(ms));
}
break;
case ".pdf":
PdfFiles.Add(new PdfDocument(item.ToString()));
break;
case ".pptx":
using (MemoryStream ms = new MemoryStream())
{
Presentation ppt = new Presentation(item.ToString(), Spire.Presentation.FileFormat.Auto);
ppt.SaveToFile(ms, Spire.Presentation.FileFormat.PDF);
PdfFiles.Add(new PdfDocument(ms));
}
break;
case ".xlsx":
using (MemoryStream ms = new MemoryStream())
{
Workbook xls = new Workbook();
xls.LoadFromFile(item.ToString());
xls.SaveToStream(ms, Spire.Xls.FileFormat.PDF);
PdfFiles.Add(new PdfDocument(ms));
}
break;
default:
break;
}
}
//Merge the PDF files into one PDF
PdfDocument newPdf1 = new PdfDocument();
foreach (PdfDocument doc in PdfFiles)
{
newPdf1.AppendPage(doc);
}
//Create a new PDF with specified page size, copy the content of merged file to new PDF file
PdfDocument newPdf2 = new PdfDocument();
foreach (PdfPageBase page in newPdf1.Pages)
{
PdfPageBase newPage = newPdf2.Pages.Add(PdfPageSize.A4, new PdfMargins(0));
PdfTextLayout loLayout = new PdfTextLayout();
loLayout.Layout = PdfLayoutType.OnePage;
page.CreateTemplate().Draw(newPage, new PointF(0, 0), loLayout);
}
//Save the destination PDF file
SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = "Pdf files(*.pdf)|*.pdf";
if (DialogResult.OK == sfd.ShowDialog())
{
newPdf2.SaveToFile(sfd.FileName);
}
}
我得到错误'result.Save(OUTPUTFILE,Spire.Pdf.FileFormat.PDF);'这里是错误我得到'CS0012 C#类型 '的HttpContext' 中的组件被定义没有被引用。您必须添加对程序集'System.Web,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'的引用。' – afri
右键单击Solution Explorer窗口中的项目,然后单击Add Reference,添加System.Web库的引用选项从上下文菜单中。 上述操作将打开添加引用对话框,并从.Net选项卡中选择System.Web库并单击确定。如果我的答案有帮助,请将其标记为答案。谢谢。 –