Excel到PDF没有办公室
我需要在正在处理的Windows应用程序中生成PDF报告,并通过将.XLSX文件导出到PDF来实现.但是,我目前正在使用Interop,但是: 我需要这样做,而无需用户购买软件,因此没有Microsoft Office Excel. 我也不能使用任何繁重的依赖(例如开放/libre办公室). 该应用程序在.NET WINFORMS中,并且是本地的(不取决于Internet连接). 我尝试的东西: 我尝试了ItextSharp,但这确实很复杂 像溢出的列. 尝试过封闭XML,但无法转换为PDF. (如前所述)尝试了互动,但找不到使其独立在办公室的方法. 帮助您将不胜感激,谢谢您:) 编辑: itextsharp 我会使用它,除了我需要导出一个具有可变数量的大数据表 列(最多30列),如果有很多列,则它会变得非常复杂 处理该列溢出,这很容易在互动中. aspose 似乎太贵了,因为我在一家目前在资源中非常有限的小公司工作. 解决方案
0 2023-12-09
编程技术问答社区
在C#中打印一个表单/用户控件
我的程序:包含一个文本框和一个按钮的表单. "默认打印机"在我的计算机上设置为 adobe pdf . 我的目标是:想在用户单击"打印"按钮时拍摄表单/usercontrol的屏幕截图.然后将屏幕截图保存在.pdf格式的桌面上. 我的问题:我有两个问题的问题: 屏幕截图的大小:屏幕截图的大小太大,印刷/转换为 .pdf .请参考下面的两个图像.我希望整个屏幕截图都适合页面内. 询问两次在哪里转换并保存:当我单击"打印表单"按钮时,程序要求我两次打印/转换并保存文件.我希望程序只问我一次,在哪里打印并保存文件. 问题1:程序捕获的屏幕截图在打印时不适合该页面. > 我希望屏幕截图映像像 .pdf 的一页一样适合: 代码: public partial class Form1 : Form { public Form1() { InitializeComponent(); button1.Text
0 2023-12-09
编程技术问答社区
如何使用iTextSharp在页面上添加边框?
是否可以使用iTextSharp在PDF文档中的页面中添加边框?我正在从头开始生成PDF文件,因此我不需要将边框添加到已经存在的文档中. 以下是我的代码: Document pdfDocument = new Document(PageSize.LETTER); Font headerFont = new Font(baseFont, 13); Font font = new Font(baseFont, 10); PdfWriter writer = PdfWriter.GetInstance(pdfDocument, new FileStream(fileName, FileMode.Create)); pdfDocument.Open(); //I add IElements here. pdfDocument.Close(); 解决方案 这是C#中的答案(改编自Mark St
0 2023-12-09
编程技术问答社区
没有应用程序与此操作的指定文件相关联(VB.NET)。
我们有一个Win表单应用程序,该应用程序使用ItextSharp生产PDF,将其保存到本地目录,然后该应用程序打开文件.有一个客户(所有XP框和Adobe Reader 11),它会引发以下错误 No application is associated with the specified file for this operation at System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo) at System.Diagnostics.Process.Start() 这表明Adobe读取器与PDF扩展名没有正确关联,除了它们可以导航到本地目录并打开文件而没有任何问题. 有人在以前遇到过这种奇怪的人吗? 编辑re zippyv-典型sub 的示例 Public Sub PDF_Functions_LogCalls_RunReport(ByVal Custo
0 2023-12-09
编程技术问答社区
将WinForm保存为PDF并打印多页WinForm
如何将乘法winform保存到pdf&如何打印? 谢谢 Ofir 解决方案 一个好的框架是您可以捕获表格(有几种方法可以做到, 其他解决方案 您可以使用油漆方法捕获表格的整个客户端区域,然后使用打印方法打印它们. Graphics myGraphics = this.CreateGraphics(); Size s = this.Size; memoryImage = new Bitmap(s.Width, s.Height, myGraphics); Graphics memoryGraphics = Graphics.FromImage(memoryImage); memoryGraphics.CopyFromScreen(this.Location.X, this.Location.Y, 0, 0, s); 然后使用PrintDocument类打印.
0 2023-12-09
编程技术问答社区
为iTextSharp的罗马尼亚语设置什么编码
我尝试使用ItextSharp版本5.5.9.0创建一个PDF文件(我添加了Nuget).一切都很好,但效果不佳,罗马尼亚变音术( șșțțstripics ).我读了很多有关解决方案的文章,但无效.现在,我建立了一个解决方案,从所有变音符中似乎只出现" "其他人都没有出现. 那是我的代码: Dim bf As BaseFont = BaseFont.CreateFont(BaseFont.TIMES_ROMAN, BaseFont.CP1250, False) Dim normalFont As New iTextSharp.text.Font(bf, 9, Font.NORMAL) Dim par As New Paragraph("ȘșȚțăĂÂâ", normalFont) pdfDoc.Add(par) 任何人都可以给我写什么编码我必须写的才能拥有所有罗马尼亚的变音. 解决方案:" Paulo Soares"是正确的.我只进行了一些更正. 我下载了一种支持罗马尼
0 2023-12-09
编程技术问答社区
WebBrowser控件不能将Pdf文件显示在Adobe的winform中。为什么?
这是我的代码,将PDF文件打开到WebBrowser控件: private void Form1_Load(object sender, EventArgs e) { OpenFileDialog dlg = new OpenFileDialog(); dlg.Filter = "pdf files (*.pdf) |*.pdf;"; dlg.ShowDialog(); webBrowser1.Navigate(dlg.FileName); } 这是我的问题: 当我像默认的pdf读取器一样,当我拥有foxit panthom时,pdf将显示在webbrowser中,但是当我将Adobe Reader(即使使用Sumatra PDF)设置为默认PDF PDF读取器时,PDF文件显示在一个分开的窗口中.为什么?我在哪里错了? 我正在使用Windows 7专业32位. 解决方案
0 2023-12-09
编程技术问答社区
在Visual C# Windows Forms中读/写PDF文件
对于客户,我需要能够读取和编写PDF文件.有两个弊端: 我不知道如何. 我不能使用任何第三方Copmonents/Libraries. 有人可以将我指向正确的方向,我可以学习如何开始阅读和编写PDF文件? 我不是在要求代码或类似的代码(尽管.....;)),我只是想知道是否有人知道任何好的起点... 解决方案 PDF格式实际上是以但是,我强烈建议反对这一点,因为文件的成本和实际实施此类操作的成本 far far 超过第三方组件的成本. 有很多 itextSharp 是一个非常杰出的人). 我建议说服谁设定要求您不能使用第三方组件在其中一个组件的支出上签名(如果没有一个免费的组件都可以做您需要的事情). 其他解决方案 正如其他答案所述,写下自己的PDF处理程序将很痛苦.您可以尝试使用其他解决方案 同意上述答案.实施PDF引擎不是一项琐碎的任务.如果您需要进行完整的阅读和修改PDF,请按建议使用第三方库. 我已经与PDF文档创建,管理等
0 2023-12-09
编程技术问答社区
用PdfSharp将Tif文件转换为PDF文件
我正在使用winforms.在我的形式中,我有一个显示tif映像文档的图片框.我正在使用PDFSHARP作为我的参考文献之一,将TIF文档转换为PDF文档.好消息是,我可以将当​​前显示在图片框中显示的TIF页面之一转换. 问题是,当我拥有超过1页的TIF文档时,我无法将它们全部转换为单个PDF文件.例如,如果我有一个包含5页的TIF文档映像,我想按下一个按钮,然后将所有这5个TIF页面转换为5 pdf页面. 在这里进行测试是一个带有5页的TIF文档. 链接: 我的代码: using PdfSharp; using PdfSharp.Pdf; using PdfSharp.Drawing; private string srcFile, destFile; bool success = false; private void Open_btn_Click(object sender, EventArgs e) {
0 2023-12-09
编程技术问答社区
在WINDOWS表格中显示PDF?
在vb.net中可以在表单上显示PDF文件? 解决方案 快速入侵将是使用WebBrowser控件(假设客户端已安装了Adobe Reader),然后将其导航到您要显示的PDF文件. 其他解决方案 如果您想在不需要Acrobat读取器安装在客户端计算机上的情况下显示PDF,请看一下: pdf查看器控制器没有安装Acrobat Reader 我还没有尝试过,但可能会. 其他解决方案 是的,但是您最终将使用com+
0 2023-12-09
编程技术问答社区
通过点击按钮在windows窗体中打开一个.pdf文件
在我拥有的当前窗口上,我有一个按钮.我希望能够单击该按钮并打开一个.pdf文件,该文件位于该项目的资源文件夹中.有容易的事情要这样做吗? 我查看的其他方法使用了文件膜,但是filepaths可能始终相同,但.pdf文件将始终位于资源文件夹中.有没有办法在单击按钮时访问并打开它? 沿着? 的任何东西 string filename = "instructions.pdf"; file.open(); 用 解决的问题 private void Button1_Click(object sender, EventArgs e) { string filename = "instructions.pdf"; System.Diagnostics.Process.Start(filename); } 使用Distifitions.pdf在bin/debug文件夹中的program.exe为 解决方案 要使用系统默认查看器打开文件,您需要调用
0 2023-12-09
编程技术问答社区
C# 如何从剪贴板粘贴格式化的文本到RichTextBox?
我在Richboxtext上添加了上下文菜单,只有一个功能"粘贴".什么代码将粘贴我的剪贴板内容(例如从Microsoft Word复制到RichBoxtext表单)?我尝试了: private void PasteToolStripMenuItem_Click_1(object sender, EventArgs e) { richTextBox1.Text = Clipboard.GetText(); } ,但它粘贴了非格式的文本.我如何粘贴文本格式? 解决方案 得到它! 只是格式: richTextBox1.Text = Clipboard.GetText(TextDataFormat.Rtf); 更新 这将帮助您从MS Word 获得格式化的文本(仅文本) 其他解决方案 DataFormats.Format myFormat = DataFormats.GetFormat(DataFormats
0 2023-12-09
编程技术问答社区
在Adobe AxAcroPDFLib中启用注释功能
我使用AxAcroPDFLib将PDF查看器嵌入了C#Winform. 但是,工具栏中的注释按钮(注释...)被禁用. 我搜索并发现它们默认是禁用的,但是有些人使用JavaScript报告了它们: Collab.showAnnotToolsWhenNoCollab = True 有没有办法在这里执行此操作? 编辑:是否可以在WebBrowser控件中使用浏览器插件?如果是这样,该怎么做? 解决方案 更新 - 第一部分仅与Acrobat Reader相关.有关使用Acrobat的完整版本时的信息,请参见第二部分. Acrobat Reader 我会说出这是可能不是您要寻找的答案,但我觉得这不仅仅是评论. 在这样提出了一个类似的自我解答的问题(在这里),OP得出的结论是,这种行为是设计的,而对此无关,我几乎同意. 虽然您确定您已经看到读者本身可以添加注释,但使用读取器插件(AcropDflib)完成此操作的唯一直接手段是将文档加载为"启用读取器
0 2023-12-09
编程技术问答社区
如何用C#打印一个PDF
我试图解决这个问题近2天.网上有很多或更少的好解决方案,但不完全适合我的任务. 任务: 打印PDF编程 用固定打印机 进行 不要让用户执行超过一个button_click 保持沉默 - 越多,越好 做客户端 第一个解决方案: 以形式做到这一点.webbrowser 如果我们安装了Adobe Reader,则有一个插件可以在WebBrowser中显示PDF.使用此解决方案,我们有一个不错的预览,并且使用WebBrowserControlname.print()我们可以触发控件以打印其内容. 问题 - 我们仍然有一个printdialog. 使用start grong otarguments 启动acrord32.exe 以下CMD命令让我们使用Adobe读取器打印我们的PDF. insertpathto .. \ acrord32.exe/t" c:\ sample.pdf"" \ printernetwork \ printer
0 2023-12-09
编程技术问答社区
点击打印按钮时系统崩溃
当我单击"打印"按钮时,我已经这样做是为了在运行时生成PDF 当我单击"打印"按钮时,PDF使用文件夹生成. 时,该过程就是这样. 为此我这样做了: private void btnPrint_Click(object sender, EventArgs e) { private const string PAYMENT_PATH = @"c:\xxxxx\xxxxx\paymentType_{0}"; btnPrint.Visible = true; btnPrint.Enabled = true; string pay = cbpaymenttype.Text; string dds = cbddprovider.Text; string path = String.Format(PAYMENT_PATH, DateTime.Now.ToString("ddMMyyyyHHmm")); //List
0 2023-12-09
编程技术问答社区
C#, Winform-创建PDF
我仍然对编程事物有些新,但是我想创建一个程序可以创建PDF,并在其中创建一些信息. 任何人都可以推荐一种整洁的方法,我有点需要创建一个带有表格的常规A4页. 是否可以在Visual Studio 2010中创建它 - 还是我需要某种加载项? 解决方案 正如@Jon Skeet所说,您可以使用ItextSharp(这是Java Itext的c#端口). 首先,using System; using System.Text; using System.Windows.Forms; using System.IO; using iTextSharp.text; using iTextSharp.text.pdf; namespace Full_Profile1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(o
0 2023-12-09
编程技术问答社区
希伯来语文本,PDF格式
我写了一个pdf文档,然后尝试在希伯来语(UTF-8)中写入,并且我无法使用以下代码使用C#和Visual Studio 2010中的Windows表单. Document Doc = new Document(PageSize.LETTER); //Create our file stream using (FileStream fs = new FileStream("C:\\Users\\moshe\\Desktop\\Test18.pdf", FileMode.Create, FileAccess.Write, FileShare.Read)) { //Bind PDF writer to document and stream PdfWriter writer = PdfWriter.GetInstance(Doc, fs); //Open document for writing Doc.Open(); //Add a pa
0 2023-12-09
编程技术问答社区
在Winform中显示一个pdf文件
我只是在C#(Windows表单)中创建一个简单的计算器 我已经创建了一个"用户帮助",即PDF文件,如果用户单击Winform中的"帮助"按钮,我想要的是显示该PDF文件.如果假定Adobe阅读器已预安装在用户的计算机上.... 如何在Winform中单击按钮打开PDF文件? 我不打算在用户硬盘上提供此PDF文件.这意味着我必须将此PDF嵌入计算器(Winform),并且必须在按钮上显示. 请指导我以在Winform中显示嵌入式文件的最佳实践. 解决方案 我会将其放在程序文件夹中,在开始菜单文件夹中添加一个链接以允许直接访问(无需启动我的工具),然后在某些单击事件System.Diagnostics.Process.Start(@".\Manual.pdf"); 上添加链接 更新 好吧,现在我们提出了一个全新的问题:如何将文件嵌入我的应用程序并启动? 对于此问题,您将在这里找到几个答案,但这是简短的版本: 右键单击您的项目,然后选择"添加
0 2023-12-09
编程技术问答社区
以编程方式在指定的目的地打开一个pdf文件
我想使用winforms(c#)在命名目标上打开一个PDF文件.这是我的代码: System.Diagnostics.Process myProcess = new System.Diagnostics.Process(); myProcess.StartInfo.FileName = "Acrobat.exe"; myProcess.StartInfo.Arguments = "/A \"nameddest=Test2=OpenActions\" C:\\example.pdf"; myProcess.Start(); 它始终在第1页上打开文件,即使在第10页的目标test2上,它基本上忽略了目标参数.但是,如果我使用其他参数(例如页码),则可以正常工作.例如: myProcess.StartInfo.Arguments = "/A \"page=5=OpenActions\" C:\\example.pdf"; 将始终在第5页上打开PDF文档. 事先感谢您的
0 2023-12-09
编程技术问答社区
合并两个(或更多)PDF's
背景:我需要为我的销售人员提供每周的报告包.该软件包包含几(5-10)个水晶报告. 问题: 我想允许用户运行所有报告,还可以运行一个报告.我以为我可以通过创建报告然后做: 来做到这一点 List reports = new List(); reports.Add(new WeeklyReport1()); reports.Add(new WeeklyReport2()); reports.Add(new WeeklyReport3()); foreach (ReportClass report in reports) { report.ExportToDisk(ExportFormatType.PortableDocFormat, @"c:\reports\" + report.ResourceName + ".pdf"); } 这将为我提供一个充满报告的文件夹,但是我想通过每周的所有报告向所有人发
0 2023-12-09
编程技术问答社区