社区
C#
帖子详情
如何把PDF文件插入数据库,又如何把它读出来显示
xwh0318
2009-11-03 09:30:12
如何把PDF文件插入数据库,又如何把它读出来显示
...全文
903
16
打赏
收藏
如何把PDF文件插入数据库,又如何把它读出来显示
如何把PDF文件插入数据库,又如何把它读出来显示
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
Visual C++
数据库
开发经典实例精解.
pdf
由于您提供的
文件
内容是通过OCR扫描得出的,并且OCR技术可能在识别文字过程中会产生错误或遗漏,因此我无法基于这部分内容生成准确的知识点。不过,我将根据标题、描述以及
文件
名中提及的“Visual C++
数据库
开发经典...
ORMLite jar、文档、源码、以及博客实例
`ormlite-core-4.48.jar`是ORMLite的核心库,包含处理SQL
数据库
的基本功能,如创建表、
插入
、更新、删除数据,以及对象的序列化和反序列化。 `ormlite-core-4.48-sources.jar`包含了ORMLite的核心库源代码,这对于...
Aspose.Cells.dll
Aspose.Cells.dll是这个库的核心组件,它提供了大量的API(应用程序接口)供开发者在他们的应用程序中创建、读取、修改和操作电子表格
文件
。 Aspose.Cells.chm
文件
是一个帮助文档,包含了关于Aspose.Cells库的详细...
Android自学教材(含2本)
- **数据存储**:涵盖SQLite
数据库
的使用,包括
数据库
的创建、查询、
插入
、更新和删除操作,以及SharedPreferences的简单数据存储方式。 - **网络编程**:讨论了HTTP请求和响应,使用Android的HttpURLConnection...
C#
111,097
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章