代码从C#.net中的openoffice文件(.odt)生成PDF [英] code to generate PDF from openoffice file(.odt) in C#.net
本文介绍了代码从C#.net中的openoffice文件(.odt)生成PDF的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
protected void btnGeneratePDF_Click(object sender, EventArgs e)
{
Document document = new Document(PageSize.A4, 80, 50, 30, 65);
StringBuilder strData = new StringBuilder(string.Empty);
try
{
string strHTMLpath = @"D:\Projects\PP.odt";
string strPDFpath = @"D:\Projects\MyPDF4.pdf";
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
MemoryStream ms = new MemoryStream();
StreamWriter strWriter = new StreamWriter(strHTMLpath, true, Encoding.Default);
strWriter.WriteLine(htw.InnerWriter.ToString());
strWriter.Close();
strWriter.Dispose();
iTextSharp.text.html.simpleparser.StyleSheet styles = new iTextSharp.text.html.simpleparser.StyleSheet();
//styles.LoadTagStyle("ol", "leading", "16,0");
PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(strPDFpath, FileMode.Create));
document.Open();
ArrayList objects = iTextSharp.text.html.simpleparser.HTMLWorker.ParseToList(new StreamReader(strHTMLpath, Encoding.Default), styles);
//objects = iTextSharp.text.html.simpleparser.HTMLWorker.ParseToList(new StreamReader(strHTMLpath, Encoding.Default), styles);
for (int k = 0; k < objects.Count; k++)
{
document.Add((IElement)objects[k]);
}
document.Close();
//Response.Write(Server.MapPath(strPDFpath));
Response.Write(strPDFpath);
Response.ClearContent();
Response.ClearHeaders();
Response.ContentType = "application/pdf";
Response.AddHeader("Content-Disposition", "attachment; filename=MyPDF.pdf");// + strPDFpath);
//Response.ContentType = "application/octet-stream";
Response.WriteFile(strPDFpath);
Response.Flush();
Response.Close();
writer.Close();
}
catch (Exception ex)
{
document.Close();
throw (ex);
}
}
Pdf已生成,但由于已损坏,.odt(openoffice文件)也已损坏.感谢您的帮助.
Pdf is generated but as a corrupted and .odt(openoffice file) is also getting corrupted. Any help is appreciated.
推荐答案
实际上,我不想在您的代码中投入精力(在这个周末).但不要担心,请查看这些文章
如何:使用C#中的Open Office将Office文档转换为PDF [使用OpenOffice.org(便携式)将Microsoft Word文档转换为PDF格式 [使用C#生成PDF [
Actually I don''t want to push my head into your code(on this weekend). But don''t worry check these articles
HOW TO: Convert office documents to PDF using Open Office in C#[^]
Converting Microsoft Word Document to PDF format using OpenOffice.org (Portable)[^]
Generate PDF Using C#[^]
这篇关于代码从C#.net中的openoffice文件(.odt)生成PDF的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文