Wednesday, June 17, 2009

Get PDF Page Count using Regular Expression

public int GetNoOfPagesPDF(string FileName)
{
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

#region GetPDFPageNumber
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

#region GetPDFPageNumber
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);

}

}