下面这段运用xpdf的代码如何转化为c#
高手们要不吝赐教啊,小弟在这里先谢过了(就50分吧)String PATH_TO_XPDF="C:\\xpdf\\pdftotext.exe"; String filename="c:\\test.pdf"; int Begin = 100; int End = 300; String strResponse = ""; String[] cmd = new String[] { PATH_TO_XPDF, "-cfg", "xpdfrc", "-q", filename, "-"}; Process p = Runtime.getRuntime().exec(cmd); BufferedInputStream bis = new BufferedInputStream(p.getInputStream()); InputStreamReader reader = new InputStreamReader(bis, "UTF-8"); if(Begin > 0) { // 跳过Begin个字符 reader.skip(Begin); } // 本次要读取的字符数 int nLengthRead = End - Begin; if(nLengthRead > 0) { // 准备好缓冲区 char [] buf = new char[nLengthRead]; // 输出到缓冲区 int nLengthWriteToBuffer = reader.read(buf); reader.close(); // nLengthWriteToBuffer就是当前读取到缓冲区的字符数 if(nLengthWriteToBuffer > 0) { // 只有nLengthWriteToBuffer大于0,才说明文档有内容 strResponse = new String(buf); } else { // 否则可能是到了文档结尾 strResponse = "PDF_EOF_OF_DOC"; } } System.out.println("\t\r\n" + strResponse);
高手们要不吝赐教啊,小弟在这里先谢过了(就50分吧)String PATH_TO_XPDF="C:\\xpdf\\pdftotext.exe"; String filename="c:\\test.pdf"; int Begin = 100; int End = 300; String strResponse = ""; String[] cmd = new String[] { PATH_TO_XPDF, "-cfg", "xpdfrc", "-q", filename, "-"}; Process p = Runtime.getRuntime().exec(cmd); BufferedInputStream bis = new BufferedInputStream(p.getInputStream()); InputStreamReader reader = new InputStreamReader(bis, "UTF-8"); if(Begin > 0) { // 跳过Begin个字符 reader.skip(Begin); } // 本次要读取的字符数 int nLengthRead = End - Begin; if(nLengthRead > 0) { // 准备好缓冲区 char [] buf = new char[nLengthRead]; // 输出到缓冲区 int nLengthWriteToBuffer = reader.read(buf); reader.close(); // nLengthWriteToBuffer就是当前读取到缓冲区的字符数 if(nLengthWriteToBuffer > 0) { // 只有nLengthWriteToBuffer大于0,才说明文档有内容 strResponse = new String(buf); } else { // 否则可能是到了文档结尾 strResponse = "PDF_EOF_OF_DOC"; } } System.out.println("\t\r\n" + strResponse);
string PATH_TO_XPDF = @"C:\xpdf\pdftotext.exe"; string filename = @"c:\test.pdf"; int Begin = 100; int End = 300; string strResponse = ""; ProcessStartInfo ps = new ProcessStartInfo(PATH_TO_XPDF);
ps.Arguments = " -cfg xpdfrc -q " + filename + "-";//设置命令参数
ps.CreateNoWindow = true;
ps.RedirectStandardOutput = true;
ps.RedirectStandardInput = true;
ps.UseShellExecute = false;
Process p = Process.Start(ps);
StreamReader reader = p.StandardOutput;//截取输出流
if (Begin > 0)
{
reader.BaseStream.Seek(Begin, SeekOrigin.Begin);
} int nLengthRead = End - Begin; if (nLengthRead > 0)
{
// 准备好缓冲区
char[] buf = new char[nLengthRead];
// 输出到缓冲区
int nLengthWriteToBuffer = reader.Read();
reader.Close();
// nLengthWriteToBuffer就是当前读取到缓冲区的字符数
if (nLengthWriteToBuffer > 0)
{
// 只有nLengthWriteToBuffer大于0,才说明文档有内容
strResponse = new String(buf);
}
else
{
// 否则可能是到了文档结尾
strResponse = "PDF_EOF_OF_DOC";
}
} Console.WriteLine("\t\r\n" + strResponse);