首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将字符串/*..rtf转换为PDF

将字符串/*..rtf转换为PDF
EN

Stack Overflow用户
提问于 2015-07-06 20:36:35
回答 1查看 1.7K关注 0票数 0

我一直试图将字符串和.rtf文档转换为PDF文档。到目前为止,我的成就参差不齐。我尝试了3种不同的方法(下面的代码)将文本转换成PDF格式。所有的em编译、运行和创建一个PDF,但是在所有的casses中,文档都被破坏了。错误:链接 (https://www.dropbox.com/s/j7sckgwm10gf5ml/PdfError.jpg?dl=0)

  1. 将简单字符串转换为PDF文档 字符串msg = "dfsgfdsgdfgfdf";System.Text.ASCIIEncoding.ASCII.GetBytes(msg);messageBytes =新System.IO.FileStream(@"C:\file.pdf",System.IO.FileMode.CreateNew);System.IO.BinaryWriter writer =新BinaryWriter(流);writer.Write(messageBytes,0,messageBytes.Length);writer.Close();
  2. 与方法1类似: //String myString:包含从rft文件byte[] messageBytes = Encoding.UTF8.GetBytes(myString);System.IO.File.WriteAllBytes(@"C:\foo.pdf",messageBytes)加载的rft文档;
  3. 还有更复杂的尝试3: wordToPDF() { ApplicationClass wordApplication =新ApplicationClass();Document wordDocument = null;object paramSourceDocPath = @"C:\rtfdoc.rtf";object paramMissing = Type.Missing;string paramExportFilePath = @"C:\pdfdoc.pdf";WdExportFormat paramExportFormat = WdExportFormat.wdExportFormatXPS;bool paramOpenAfterExport = false;WdExportOptimizeFor paramExportOptimizeFor =WdExportOptimizeFor.wdExportOptimizeForPrint=;int = 0;int = 0;WdExportCreateBookmarks.wdExportCreateWordBookmarks;paramExportItem = WdExportItem.wdExportDocumentContent;bool paramIncludeDocProps = true;bool paramKeepIRM = true;WdExportCreateBookmarks paramCreateBookmarks =paramIncludeDocProps paramDocStructureTags = true;bool paramBitmapMissingFonts = true;bool paramUseISO19005_1 = false;尝试{ //打开源代码文档。wordDocument = wordApplication.Documents.Open( ref paramSourceDocPath,ref paramMissing,ref paramMissing,ref paramMissing);//以指定的格式导出它。if (wordDocument != null) wordDocument paramExportFormat,paramOpenAfterExport,paramExportOptimizeFor,paramExportRange,paramStartPage,paramEndPage,paramExportItem,paramIncludeDocProps,paramKeepIRM,paramCreateBookmarks,paramDocStructureTags,paramBitmapMissingFonts,paramUseISO19005_1,ref paramMissing);} catch (异常e) { MessageBox.Show(e.Message);}最后{ //关闭并释放文档对象。if (wordDocument != null) { wordDocument.Close(ref paramMissing,ref paramMissing,ref paramMissing);wordDocument = null;} //退出Word并释放ApplicationClass对象。if (wordApplication != null) { wordApplication.Quit(ref paramMissing,ref paramMissing,ref paramMissing);wordApplication = null;} GC.Collect();GC.WaitForPendingFinalizers();GC.Collect();GC.WaitForPendingFinalizers();}}

PS:在第2和第3种情况下,我加载了一个RTF文档,其中包含特殊(德语)字符,在第1种情况下,它只是代码中看到的简单字符串,但结果都是相同的(参见上面错误的图像)。

我希望有人能帮我或者把我引向正确的方向。

EN

回答 1

Stack Overflow用户

发布于 2015-07-06 21:22:35

对于解决方案3,请尝试更改paramExportFormat:

代码语言:javascript
复制
object paramExportFormat = Microsoft.Office.Interop.Word.WdExportFormat.wdExportFormatPDF;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31255141

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档