我有这段代码来合并文档以.PDF
使用 Spire,但我在这一行中得到以下代码result.Save(outputFile,Spire.Pdf.FileFormat.PDF);
CS0012 C# 类型“HttpContext”在未引用的程序集中定义。您必须添加对程序集“System.Web,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”的引用。
我试图将此Assembly
代码添加到 App.config 文件但没有运气。
<assemblies>
<add assembly="MyAssembly" Version="4.0.0.0" Culture="neutral" PublicKeyToken="b03f5f7f11d50a3a"/>
这是下面的代码
private void button1_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;
listBox1.Items.AddRange(files);
}
}
private void button2_Click(object sender, EventArgs e)
{
string ext = string.Empty;
List<Stream> filesStreams = new List<Stream>();
MemoryStream ms1 = new MemoryStream();
MemoryStream ms2 = new MemoryStream();
MemoryStream ms3 = new MemoryStream();
foreach (object item in listBox1.Items)
{
ext = Path.GetExtension(item.ToString());
switch (ext)
{
case ".docx":
Document doc = new Document(item.ToString());
doc.SaveToStream(ms1, Spire.Doc.FileFormat.PDF);
filesStreams.Add(ms1);
break;
case ".pdf":
filesStreams.Add(File.OpenRead(item.ToString()));
break;
case ".pptx":
Presentation ppt = new Presentation(item.ToString(), Spire.Presentation.FileFormat.Auto);
ppt.SaveToFile(ms2, Spire.Presentation.FileFormat.PDF);
filesStreams.Add(ms2);
break;
case ".xlsx":
Workbook xls = new Workbook();
xls.LoadFromFile(item.ToString());
xls.SaveToStream(ms3, Spire.Xls.FileFormat.PDF);
filesStreams.Add(ms3);
break;
default:
break;
}
}
string outputFile = "result.doc";
PdfDocumentBase result = PdfDocument.MergeFiles(filesStreams.ToArray());
//result.SaveToDoc(outputFile);
result.Save(outputFile,Spire.Pdf.FileFormat.PDF);
ms1.Close();
ms2.Close();
ms3.Close();
}
谢谢