① C#怎么打开pdf文件
1.PDFBox的IKVM版本:目前只有PDFBox的IKVM版本能比较好地从PDF中提取文本
2.使用Acrobat的SDK
3.XPDF:如果条件允许可以考虑使用XPDF的PDFToTextXPDF是用C语言编写的PDF解析库,并提供多个工具,开放源代码(如果熟悉C和dotnet,也许可以在dotnet环境下编译)
② 用C++读写怎么读写pdf格式的文件
C++程序读取PDF中的文本。Adobe允许你提交PDF文件,提取成文本或HTML后再通过邮件发送给你。但是假如你需要自己提取文本或在程序中加入这个功能的话,需要花费很多时间。也许你还需要对文本应用某些特殊格式(如,添加tab分隔符)以便它们能够导入到Execl中(比如,你需要将PDF文档中包含的表格数据导入到Excel中,这就是编写这段代码的目的)。附件中的程序使用VC6.0编译通过,可以成功的读取PDF文件中的文本。并且保存到一个txt文件中
③ 怎么用C语言读取PDF文件
1.pdf(Portable
Document
Format的简称,意为“便携式文档格式”),是由Adobe
Systems用于与应用程序、操作系统、硬件无关的方式进行文件交换所发展出的文件格式。PDF文件以PostScript语言图象模型为基础,无论在哪种打印机上都可保证精确的颜色和准确的打印效果,即PDF会忠实地再现原稿的每一个字符、颜色以及图象。
2.对于程序来说,不管后缀名如何,文件分为两种类型:文本文件和二进制文件。
C语言里有一系列文件操作函数。区分文本和二进制文件,需要在打开文件时设置不同的控制符mode的变量即可。
3.fopen的函数原型:FILE
*
fopen(const
char
*
path,const
char
*
mode);
fopen函数的第一个参数是文件路径,第二个参数是打开方式,有以下几种方式:
r
以只读方式打开文件,该文件必须存在。
r+
以可读写方式打开文件,该文件必须存在。
rb+
读写打开一个二进制文件,允许读数据。
rw+
读写打开一个文本文件,允许读和写。
w
打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
w+
打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a
以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)
a+
以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。
(原来的EOF符不保留)
wb
只写打开或新建一个二进制文件;只允许写数据。
wb+
读写打开或建立一个二进制文件,允许读和写。
wt+
读写打开或着建立一个文本文件;允许读写。
at+
读写打开一个文本文件,允许读或在文本末追加数据。
ab+
读写打开一个二进制文件,允许读或在文件末追加数据。
上述的形态字符串都可以再加一个b字符,如rb、w+b或ab+等组合,加入b
字符用来告诉函数库打开的文件为二进制文件,而非纯文字文件。
④ c#读取pdf文件里面数据!!
你可以试一下 Grapecity Documents For PDF。这是一款.NET PDF 文档API,适用于所有 .NET Standard 2.0 及以上标准的平台,以编码的方式,无需 Adobe Acrobat 组件 ,超快批量处理 PDF 文件,满足关于 PDF 文档的一切需求。网页链接
这里是Grapecity Documents For PDF 的使用指南,里面有关于加载、分析、修改现有 PDF 文档的具体方法网页链接
Grapecity Documents For PDF 最大的特色总结如下:
产品架构灵活、轻量
轻量级产品架构可节省系统处理 PDF 时占用的内存和时间。与同类产品相比,GrapeCity Documents for PDF 可用于生成更高质量的 PDF 文档。
完全兼容 Adobe PDF
GrapeCity Documents for PDF 符合 Adobe PDF 1.7 规范,可在不影响 PDF 文档功能和设计的情况下,完成创建、编辑、存储、合并、拆分等多种功能。
全文本支持
GrapeCity Documents for PDF 支持 PDF 文档的所有文本和段落格式,同时还支持特殊字符、多种语言(包括中文)、RTL 格式、垂直拆分和旋转文本。
100 种以上的 PDF 功能
使用 GrapeCity Documents for PDF,您可以随意添加、删除、拷贝、移动、保护、更改页面大小、方向、转换为线性化 PDF 以及压缩 PDF 文件。
全面支持 .NET 平台
GrapeCity Documents for PDF 支持所有 .NET 平台,并允许您在应用程序中与 .NET Core 2.0 +、.NET Framework、Mono、Xamarin.iOS 和 Xamarin.Android 一起使用。
将应用程序部署到云端
GrapeCity Documents 可用于云应用程序开发,使用 NuGet 和 GrapeCity Documents for PDF,您可直接部署到网络云、阿里云、腾讯云、Azure 和 AWS 中。
简单来说,使用 GrapeCity Documents for PDF 可以轻松实现:
可生成线性化 PDF 文档,通过 Internet 更快地进行查看
用代码生成、加载、编辑、合并/拆分大型 PDF 文档
支持多种语言(如中文)、特殊字符以及 RTL 格式
支持 100 种以上的 PDF 功能
其他核心功能网页链接
⑤ 用c#如何提取pdf里的表格
添加spire.pdf.dll为引用,使用下面的代码即可提取pdf中所有表格数据到txt文档:
using System.IO;
using System.Text;
using Spire.Pdf;
using Spire.Pdf.Utilities;
namespace ExtractPdfTable
{
class Program
{
static void Main(string[] args)
{
//Create a PdfDocument object
PdfDocument doc = new PdfDocument();
//Load the sample PDF file
doc.LoadFromFile(@"C:.pdf");
//Create a StringBuilder object
StringBuilder builder = new StringBuilder();
//Initialize an instance of PdfTableExtractor class
PdfTableExtractor extractor = new PdfTableExtractor(doc);
//Declare a PdfTable array
PdfTable[] tableList = null;
int tableNum = 1;
//Loop through the pages
for (int pageIndex = 0; pageIndex < doc.Pages.Count; pageIndex++)
{
//Extract tables from a specific page
tableList = extractor.ExtractTable(pageIndex);
//Determine if the table list is null
if (tableList != null && tableList.Length > 0)
{
//Loop through the table in the list
foreach (PdfTable table in tableList)
{
builder.Append("Table " + tableNum);
builder.Append(" ");
//Get row number and column number of a certain table
int row = table.GetRowCount();
int column = table.GetColumnCount();
//Loop though the row and colunm
for (int i = 0; i < row; i++)
{
for (int j = 0; j < column; j++)
{
//Get text from the specific cell
string text = table.GetText(i, j);
//Add text to the string builder
builder.Append(text + " ");
}
builder.Append(" ");
}
builder.Append(" ");
tableNum += 1;
}
}
}
//Write to a .txt file
File.WriteAllText("Table.txt", builder.ToString());
}
}
}
⑥ 怎样用C语言提取pdf文档内容流~
读取pdf文件本身是很简单的,fopen,fread即可,但是在你不知道pdf格式(也就是pdf如何编解码)的情况下,你读出来也没用的,你根本不知道怎么去解释你读出来的内容。
⑦ C语言读取pdf
这个肯定是要借助工具的,pdf不是单纯的字符编码,
它是字符编码和字节编码的混合,而且字节编码部分还是甲骨文公司自己的压缩加密后的结果,
如果你够厉害可以自己去钻研,要不就用第三方,
C语言对应的工具我不知道,C# 和JAVA可以用 iText
⑧ C#从数据库读取PDF文件 问题
private SqlDataAdapter dataAdapter; // 数据适配器 private DataSet dataSet; string sql = ("select photo from StuImage where num='20084001'" dataAdapter = new SqlDataAdapter(sql, DBHelp.connection); dataSet = new DataSet("photo "); dataAdapter.Fill(dataSet, "photo "); FileStream myFileStream; MemoryStream myMemoryStream = new MemoryStream((byte[])dataSet.Tables[0].Rows[0]["photo "]); myFileStream = new FileStream(@"C:\Documents and Settings\Administrator\桌面\1.jsp", FileMode.Create, FileAccess.Write); BinaryWriter myBinaryWriter = new BinaryWriter(myFileStream); byte[] aBtEntityFile = myMemoryStream.ToArray(); myBinaryWriter.Write(aBtEntityFile); myBinaryWriter.Close(); myFileStream.Close(); myMemoryStream.Close(); 你的二进制存入就有问题。。我给你这个例子 你可以参考
⑨ 如何用c#读取pdf内容
(stringfilepath)
{
try
{
stringpdffilename=filepath;
PdfReaderpdfReader=newPdfReader(pdffilename);
intnumberOfPages=pdfReader.NumberOfPages;
StringBuildertext=newStringBuilder();
for(inti=1;i<=numberOfPages;++i)
{
text.Append(iTextSharp.text.pdf.parser.PdfTextExtractor.GetTextFromPage(pdfReader,i));
}
pdfReader.Close();
returntext.ToString();
}
catch(Exceptionex)
{
return"原因:"+ex.ToString();
}
}
此方法需要引用iTextSharp
也可以使用PDFBox
PDDocumentdoc=PDDocument.load("lopreacamasa.pdf");
PDFTextStripperpdfStripper=newPDFTextStripper();
Console.Write(pdfStripper.getText(doc));
⑩ 怎样用C/C++读取PDF文件中的内容
文件都是有头有尾的,会表示文件的格式、大小等信息。你单纯的把文件分割,然后保存到.pdf格式的文件中肯定是不行的。还是最好研究一下pdf文件的格式,把格式信息加入文件,应该就可以了。