Wednesday, June 17, 2009
Get PDF Page Count using Regular Expression
{
int result = 0;
FileStream fs = new FileStream(FileName, FileMode.Open, FileAccess.Read);
StreamReader r = new StreamReader(fs);
string pdfText = r.ReadToEnd();
System.Text.RegularExpressions.Regex regx = new Regex(@"/Type\s*/Page[^s]");
System.Text.RegularExpressions.MatchCollection matches = regx.Matches(pdfText);
result = matches.Count;
return result;
}
Get Blank Pages in a PDF File
private void DisplayPDFPageNumber(string FilePath)
{
AcroPDDocClass objPages = new AcroPDDocClass();
objPages.Open(FilePath);
TotalPDFPages = objPages.GetNumPages();
objPages.Close();
AcroAVDocClass avDoc = new AcroAVDocClass();
avDoc.Open(FilePath, "Title");
IAFormApp formApp = new AFormAppClass();
IFields myFields = (IFields)formApp.Fields;
blkPg = new string[TotalPDFPages];
//For finding blank page numbers
string searchWord = "QUERIES TO BE ANSWERED BY AUTHOR";
for (int k = 0; k < TotalPDFPages; k++)
{
string blk = myFields.ExecuteThisJavascript("event.value=this.getPageNumWords('" + k + "');");
if (int.Parse(blk.ToString()) == 0)
blkPg[k] = myFields.ExecuteThisJavascript("event.value=this.getPageLabel('" + k + "');");
}
avDoc.Close(0);
}
#endregion
Search String in PDF File
private void DisplayPDFPageNumber(string FilePath)
{
AcroPDDocClass objPages = new AcroPDDocClass();
objPages.Open(FilePath);
TotalPDFPages = objPages.GetNumPages();
objPages.Close();
AcroAVDocClass avDoc = new AcroAVDocClass();
avDoc.Open(FilePath, "Title");
IAFormApp formApp = new AFormAppClass();
IFields myFields = (IFields)formApp.Fields;
blkPg = new string[TotalPDFPages];
firstPageNumber = myFields.ExecuteThisJavascript("event.value=this.getPageLabel(0);");
//For finding blank page numbers
string searchWord = "SEARCH WORD";
for (int k = 0; k < TotalPDFPages; k++)
{
//***********To search a string in the pdf file**********************
int numWords = int.Parse(myFields.ExecuteThisJavascript("event.value=this.getPageNumWords(" + k + ");"));
wrdCount += numWords;
string w = string.Empty;
for (int i = 0; i < numWords; i++)
{
string chkWord = myFields.ExecuteThisJavascript("event.value=this.getPageNthWord(" + k + "," + i + ", true);");
w = w + " " + chkWord;
}
if (w.Trim().Contains(searchWord))
{
int pNum = int.Parse(myFields.ExecuteThisJavascript("event.value=this.getPageLabel(" + k + ",true);"));
auqPgNo = pNum;
auqPgCnt = k + 1;
}
}
avDoc.Close(0);
}
#endregion
Tuesday, June 16, 2009
Get PDF Page Number
private void DisplayPDFPageNumber(string FilePath)
{
AcroPDDocClass objPages = new AcroPDDocClass();
objPages.Open(FilePath);
TotalPDFPages = objPages.GetNumPages();
objPages.Close();
AcroAVDocClass avDoc = new AcroAVDocClass();
avDoc.Open(FilePath, "Title");
IAFormApp formApp = new AFormAppClass();
IFields myFields = (IFields)formApp.Fields;
blkPg = new string[TotalPDFPages];
firstPageNumber = myFields.ExecuteThisJavascript("event.value=this.getPageLabel(0);");
long lst = TotalPDFPages - 1;
lastPageNumber = myFields.ExecuteThisJavascript("event.value=this.getPageLabel('" + lst + "');");
avDoc.Close(0);
}
Export2Excel without using Excle Object
private void export2ExcelFile(System.Data.DataTable dt)
{
StringBuilder sb=new StringBuilder();
int intColumn = 0;
int intColumnValue = 0;
//DataRow dr;
for (intColumn = 0; intColumn <= dt.Columns.Count - 1; intColumn++)
{
sb.Append(dt.Columns[intColumn].ColumnName.ToString());
if (intColumnValue != dt.Columns.Count - 1)
sb.Append("\t");
}
sb.Append(System.Environment.NewLine);
foreach (DataRow row in dt.Rows)
{
for (intColumn = 0; intColumn<=dt.Columns.Count - 1; intColumn++)
{
if (intColumn == 1)
sb.Append("'" + row[intColumn].ToString());
else
sb.Append(row[intColumn].ToString());
if (intColumnValue != dt.Columns.Count - 1)
sb.Append("\t");
}
sb.Append(System.Environment.NewLine);
}
saveExcelFile(sb);
FileInfo fil = new FileInfo(“filename.xls”);
if (fil.Exists == true)
{
System.Windows.Forms.Application.DoEvents();
label1.Text = "";
progressBar2.Maximum = 0;
progressBar2.Visible = false;
MessageBox.Show("Process Completed", "Export2Excel", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}