.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();
}
ありがとうございました