社区
C#
帖子详情
如何把PDF文件插入数据库,又如何把它读出来显示
xwh0318
2009-11-03 09:30:12
如何把PDF文件插入数据库,又如何把它读出来显示
...全文
952
16
打赏
收藏
如何把PDF文件插入数据库,又如何把它读出来显示
如何把PDF文件插入数据库,又如何把它读出来显示
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zpebzhang_1
2010-09-16
打赏
举报
回复
试了一下,可以的
zpebzhang_1
2010-09-16
打赏
举报
回复
下载试试
yhs2003
2009-11-05
打赏
举报
回复
楼上的方法应该可行。其实,无论PDF、Word、EXCEL......什么文件存入数据库的方法都是一样的,即存储时:通过流存入数据库。读取时:通过流写入临时文件。再打开。
另外,千万不要试图存取路径,如果数据库需要备份和装载时,路径问题一定会搞死你!!!!
mengmeng4553
2009-11-05
打赏
举报
回复
这个我刚做完,是好使的,呵呵,希望能帮到你。
mengmeng4553
2009-11-05
打赏
举报
回复
string path = AppDomain.CurrentDomain.SetupInformation.ApplicationBase.ToString();
string sql;
string accessoriesId;
if (!dataGridView_add.Rows[dataGridView_add.CurrentRow.Index].Cells[1].Value.Equals(dataGridView_add.Rows[dataGridView_add.CurrentRow.Index].Cells[2].Value))
{
System.Diagnostics.Process.Start(dataGridView_add.CurrentCell.Value.ToString());
return;
}
Cnt.openConnection();
MySqlCommand cmd = new MySqlCommand();
cmd = Cnt.getConn().CreateCommand();
accessoriesId = dataGridView_add.CurrentRow.Cells[0].Value.ToString();//获取accessories表中的id(即:dataGridView_add隐藏的第0列).
sql = "select content from tbl_accessories where id = '" + accessoriesId + "'";//根据tbl_accessories表中的ID选择
cmd.CommandText = sql;
//取数据库中的比特流到buffByte数组
MySqlDataReader reader = cmd.ExecuteReader();
string fileExtension, strFileNamed;
byte[] buffByte = null;
while (reader.Read())
{
buffByte = ((byte[])reader[0]);
}
reader.Close();
strFileNamed = dataGridView_add.CurrentCell.Value.ToString();//获取当前选择的Cell中的内容(即文件名)
fileExtension = strFileNamed.Substring(strFileNamed.Length - 4);
//判断所选则文件的文件拓展名
if (fileExtension == ".pdf")
{
if (File.Exists(path+"\\temp.pdf")) //其中6.pdf为临时文件,命名随意
{
File.Delete(path+"\\temp.pdf");
}
//读比特流写到临时文件6.pdf
FileStream fs = new FileStream(path+"\\temp.pdf", FileMode.CreateNew, FileAccess.Write);
fs.Write(buffByte, 0, buffByte.Length);
System.Diagnostics.Process.Start(path+"\\temp.pdf");
fs.Close();
}
else
{
//此处可写操作图片的代码
//截取字符串后缀和长度
String picture = "";
string[] word1 = strFileNamed.Split(new char[] { '.' });
foreach (string temp in word1)
{
picture = temp;
}
int num1 = picture.Length;
if (num1 == 3)
{
fileExtension = strFileNamed.Substring(strFileNamed.Length - 4);
}
else if (num1 == 4)
{
fileExtension = strFileNamed.Substring(strFileNamed.Length - 5);
}
//判断所选则文件的文件拓展名
if (File.Exists(path+"\\temp." + picture))
{
File.Delete(path+"\\temp." + picture);
}
//读比特流写到临时文件.pdf
FileStream fs = new FileStream(path+"\\temp." + picture, FileMode.CreateNew, FileAccess.Write);
fs.Write(buffByte, 0, buffByte.Length);
System.Diagnostics.Process.Start(path+"\\temp." + picture);
fs.Close();
mjp1234airen4385
2009-11-04
打赏
举报
回复
PDF的控件。
xwh0318
2009-11-04
打赏
举报
回复
我用二进制方式存到数据库里面了,不知道怎样用PDF 组件显示,请知道的朋友不吝赐教啊
ycagri
2009-11-04
打赏
举报
回复
可以使用itextsharp以流的方式存入数据库
lee_b
2009-11-04
打赏
举报
回复
[Quote=引用 6 楼 xwh0318 的回复:]
存路径如果图纸位置有变动或被删除就会有问题,还是存到数据库服器里面比较好一点,只要做个远程数据库联接就好了 ,不知道如何把PDF文件插入到数据库里面,又如何读出来呢,在数据库里应该用什么类型来存储?
[/Quote]
牛,,LZ,,搞定了拿出来学习哦...期待,顶./.
xwh0318
2009-11-04
打赏
举报
回复
存路径如果图纸位置有变动或被删除就会有问题,还是存到数据库服器里面比较好一点,只要做个远程数据库联接就好了 ,不知道如何把PDF文件插入到数据库里面,又如何读出来呢,在数据库里应该用什么类型来存储?
xwh0318
2009-11-04
打赏
举报
回复
有没有代码,能贴出相应代码吗
jnshijin
2009-11-03
打赏
举报
回复
[Quote=引用 1 楼 lee_b 的回复:]
存路径吧。。。然后再用Adobe Reader带有的dll控件读取就OK了。。
[/Quote]
请说详细一点可以吗?
lee_b
2009-11-03
打赏
举报
回复
存路径吧。。。然后再用Adobe Reader带有的dll控件读取就OK了。。
lee_b
2009-11-03
打赏
举报
回复
4楼,,你的意思是读取完PDF的内容,然后存入数据库里???
那就得期待高手出现了。。读取PDF文件??那是什么格式我都不清楚,我读不出呢。。呵呵,自己慢慢研究PDF去吧。。
CXZ84
2009-11-03
打赏
举报
回复
[Quote=引用 3 楼 lee_b 的回复:]
引用 2 楼 jnshijin 的回复:
引用 1 楼 lee_b 的回复:
存路径吧。。。然后再用Adobe Reader带有的dll控件读取就OK了。。
请说详细一点可以吗?
你把你的PDF文件的路径存放到数据库里面
然后从数据库里面读出PDF文件的路径,在页面或者窗体拖入用Adobe Reader带有的dll控件,读取就OK啦。
pdfViewCountrol1.LodaPdfFile(filename);
就这么简单一句,filename是你的数据库里存储的PDF路径。
pdfViewControl1你如果装了Adobe Reader就可以在工具栏去添加那个控件。AcroPDF.dll
[/Quote]
这个问题我之前也想问,那如果我想直接把数据从PDF上导入到数据库中呢? 有没有办法?还是还得用这个方法,然后用程序处理,然后再用Insert语句插入?
lee_b
2009-11-03
打赏
举报
回复
[Quote=引用 2 楼 jnshijin 的回复:]
引用 1 楼 lee_b 的回复:
存路径吧。。。然后再用Adobe Reader带有的dll控件读取就OK了。。
请说详细一点可以吗?
[/Quote]
你把你的PDF文件的路径存放到数据库里面
然后从数据库里面读出PDF文件的路径,在页面或者窗体拖入用Adobe Reader带有的dll控件,读取就OK啦。
pdfViewCountrol1.LodaPdfFile(filename);
就这么简单一句,filename是你的数据库里存储的PDF路径。
pdfViewControl1你如果装了Adobe Reader就可以在工具栏去添加那个控件。AcroPDF.dll
关于文档或
pdf
或网页和
数据库
的相互转化的方法
本文介绍了一种确保
数据库
与Word及
PDF
文档中的数据字典保持一致的方法。通过使用Java技术,包括Jsoup进行网页内容抓取,Apache POI处理Word文档,以及标准JDBC操作实现
数据库
交互。该方案涵盖从不同格式文档中抽取数据并导入
数据库
,以及反向操作。
ASP.net的
PDF
打印(水晶报表)[摘]
本文介绍如何使用ASP.NET水晶报表生成包含多行数据、分页及图片的
PDF
文件
。通过实例展示了数据集创建、报表设计、SQL语句编写及
PDF
导出的完整流程。
BLOB 是用来存“二进制大
文件
”的字段类型
BLOB 是用于存储二进制大
文件
的
数据库
字段类型,可存 0 到 65535 字节数据,能存储图片、音频等非文本内容。不过它不适合频繁读取和网页直接访问,
文件
太大建议放对象存储。文中还给出了将图片存入
数据库
及读取恢复的实战步骤。
python问题集合
本文探讨了如何通过pip正确安装Fitz模块来处理
PDF
转图片,遇到的MySQL连接断开问题的解决方案,以及如何使用textract解析docx文档。还涵盖了
数据库
连接管理、
文件
夹遍历、文档读取和复制,以及
数据库
和语言检测的实用技巧。
一篇讲清六大数据存储技术
数据存储技术选择指南:针对不同场景推荐最优方案。关系型
数据库
适合需要ACID特性的交易系统;数据仓库擅长海量数据分析;NoSQL处理非结构化数据;搜索存储专攻全文检索;对象存储解决大容量
文件
存储;数据湖实现企业级数据整合。实际应用中往往需要多种技术组合使用,关键是根据数据类型和使用场景选择最适合的存储方案。
C#
111,131
社区成员
642,542
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章