C# 如何读取和显示PDF
我下载了一个pdfbox,不怎么会用·只读到了文字·可排版很乱·图片也没有·希望老鸟们给个例子供菜鸟们学习学习·不一定用pdfbox·能显示就好·...
我下载了一个pdfbox,不怎么会用·只读到了文字·可排版很乱·图片也没有·希望老鸟们给个例子供菜鸟们学习学习·不一定用pdfbox·能显示就好·
展开
4个回答
展开全部
读取:
解决方案------------------------------------------------- 下载 PDFBox-0.7.3.zip
PDFBox-0.7.3.dll lucene-demos-2.0.0.dll lucene-core-2.0.0.dll bcmail-jdk14-132.dll bcprov-jdk14-132.dll FontBox-0.1.0-dev.dll ICSharpCode.SharpZipLib.dll IKVM.AWT.WinForms.dll IKVM.GNU.Classpath.dll IKVM.Runtime.dll ikvm-native.dll 放入Bin中 C# code
<%@ Page Language="C#" %>
<%@ Import Namespace="System" %>
<%@ Import Namespace="org.pdfbox.pdmodel" %> <%@ Import Namespace="org.pdfbox.util" %> <script language="C#" runat="server">
protected void Page_Load(object sender, System.EventArgs e) {
stringpdfPath = Server.MapPath("index.pdf"); PDDocument doc = PDDocument.load(pdfPath);
PDFTextStripper stripper = new PDFTextStripper(); string txt = stripper.getText(doc);
Response.Write(txt); }
</script>
显示:
1.在工具箱中添加Adobe提供的ActiveX控件;
2.在工具箱最下面就会有一个Adobe PDF Reader控件出现, 拖一个Adobe PDF Reader控件到窗体上,双击窗体,在窗体加载时,弹出对话框,加载PDF文件:
3、用另一个窗体打开需用到LoadFile来加载PDF显示内容;
例如:
建立一个需要弹出来加载PDF内容的Form3窗体:
public partial class Form3:Form
{
string pdf = string.Empty;
public Form3(string filePath):this()
{
pdf = filePath;
axAcroPdf1.LoadFile(filePath); //axAcroPdf1是PDF控件命名
}
}
窗体Form2的代码为:
Form3 form3 = new Form3(路径 + ".pdf"); //路径为存放PDF文件的路径
form3.show();
每次打开了PDF文件后,关闭的时候就会出现内存错误,暂未找到方法解决!
显示提示以下内容!!!
"0x057a3b11"指令引用的"0x00000004"内存。该内存不能为"read".要终止程序,请单击确定!
--------------------------------------------------------------------------------------------
解决PDF异常退出方式:
[System.Runtime.InteropServices.DllImport("ole32.dll")]
static extern void CoFreeUnusedLibraries();
private void axAcroPDF1_OnError(object sender, EventArgs e)
{
}
//窗体3正常释放axAcroPDF控件
private void Form3_FormClosing(object sender, FormClosingEventArgs e)
{
if (axAcroPDF1 != null)
{
axAcroPDF1.Dispose();
System.Windows.Forms.Application.DoEvents();
CoFreeUnusedLibraries();
}
}
解决方案------------------------------------------------- 下载 PDFBox-0.7.3.zip
PDFBox-0.7.3.dll lucene-demos-2.0.0.dll lucene-core-2.0.0.dll bcmail-jdk14-132.dll bcprov-jdk14-132.dll FontBox-0.1.0-dev.dll ICSharpCode.SharpZipLib.dll IKVM.AWT.WinForms.dll IKVM.GNU.Classpath.dll IKVM.Runtime.dll ikvm-native.dll 放入Bin中 C# code
<%@ Page Language="C#" %>
<%@ Import Namespace="System" %>
<%@ Import Namespace="org.pdfbox.pdmodel" %> <%@ Import Namespace="org.pdfbox.util" %> <script language="C#" runat="server">
protected void Page_Load(object sender, System.EventArgs e) {
stringpdfPath = Server.MapPath("index.pdf"); PDDocument doc = PDDocument.load(pdfPath);
PDFTextStripper stripper = new PDFTextStripper(); string txt = stripper.getText(doc);
Response.Write(txt); }
</script>
显示:
1.在工具箱中添加Adobe提供的ActiveX控件;
2.在工具箱最下面就会有一个Adobe PDF Reader控件出现, 拖一个Adobe PDF Reader控件到窗体上,双击窗体,在窗体加载时,弹出对话框,加载PDF文件:
3、用另一个窗体打开需用到LoadFile来加载PDF显示内容;
例如:
建立一个需要弹出来加载PDF内容的Form3窗体:
public partial class Form3:Form
{
string pdf = string.Empty;
public Form3(string filePath):this()
{
pdf = filePath;
axAcroPdf1.LoadFile(filePath); //axAcroPdf1是PDF控件命名
}
}
窗体Form2的代码为:
Form3 form3 = new Form3(路径 + ".pdf"); //路径为存放PDF文件的路径
form3.show();
每次打开了PDF文件后,关闭的时候就会出现内存错误,暂未找到方法解决!
显示提示以下内容!!!
"0x057a3b11"指令引用的"0x00000004"内存。该内存不能为"read".要终止程序,请单击确定!
--------------------------------------------------------------------------------------------
解决PDF异常退出方式:
[System.Runtime.InteropServices.DllImport("ole32.dll")]
static extern void CoFreeUnusedLibraries();
private void axAcroPDF1_OnError(object sender, EventArgs e)
{
}
//窗体3正常释放axAcroPDF控件
private void Form3_FormClosing(object sender, FormClosingEventArgs e)
{
if (axAcroPDF1 != null)
{
axAcroPDF1.Dispose();
System.Windows.Forms.Application.DoEvents();
CoFreeUnusedLibraries();
}
}
推荐于2018-04-07
展开全部
先安装Acrobat Reader,工具箱上选择项,添加一个Adobe PDF Reader
在Form上放置一个Adobe PDF Reader控件,代码:
private void Form1_Load(object sender, EventArgs e)
{
axAcroPDF1.LoadFile(@"D:\美国国家地理.pdf");
axAcroPDF1.setShowToolbar(false);
axAcroPDF1.setShowScrollbars(false);
axAcroPDF1.setPageMode("pages only");
}
效果:
在Form上放置一个Adobe PDF Reader控件,代码:
private void Form1_Load(object sender, EventArgs e)
{
axAcroPDF1.LoadFile(@"D:\美国国家地理.pdf");
axAcroPDF1.setShowToolbar(false);
axAcroPDF1.setShowScrollbars(false);
axAcroPDF1.setPageMode("pages only");
}
效果:
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可使用Spire.PDF.dll读取,参考教程代码:Read PDF Images and Text
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-04-27
展开全部
TOOLBOX---->COM组件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |