Finns det nåt enkelt sätt att läsa antal sidor i ett pdf dokument? Hej Tack för det, men tyvärr så tror jag att man då läser in length för /XObject delen. Möjligt, vet inte hur ett PDF-Dokument är uppbyggt, Vad tror du om den här koden då?Antal sidor i pdf dokument
Helst en .net komponent.
Har själv hittat PDF Page Counter COM Component, men finns det nåt alternativ?Sv: Antal sidor i pdf dokument
Det finns en header i pdf-filen som visar hur många sidor pdf-dokumentet har.
Jag slängde ihop en liten kod som hämtar den informationen.
public int PDF_PAGES(string FilePath)
{
StreamReader sReader = new StreamReader(FilePath);
string strPDF = "";
string strPage = "";
strPDF = sReader.ReadToEnd();
strPDF = strPDF.Substring(strPDF.IndexOf("<<") + 2);
strPDF = strPDF.Substring(0, strPDF.IndexOf(">>"));
strPDF = strPDF.Replace("\r", "");
strPDF = strPDF.Replace("\n", "");
strPDF = strPDF.Replace(" ", "");
if (strPDF.ToLower().IndexOf("/length") >= 0)
{
strPage = strPDF.Substring(strPDF.IndexOf("/Length") + 7);
strPage = strPage.Substring(0, strPage.IndexOf("R"));
}
else
{
strPage = strPDF.Substring(strPDF.IndexOf("/N") + 2);
strPage = strPage.Substring(0, strPage.IndexOf("/"));
}
return Convert.ToInt32(strPage.Trim());
}
Går säkert att plocka fram information på ett mer korrekt sätt än detta, fast jag har provat på ett antal pdf-filer och det tycks fungera bra.Sv:Antal sidor i pdf dokument
Sv: Antal sidor i pdf dokument
endast att det fungerade bra på de 6 olika pdf-filer jag testade koden på.Sv: Antal sidor i pdf dokument
public int PDF_PAGES_1(string FilePath)
{
StreamReader sReader = new StreamReader(FilePath);
string strPDF = sReader.ReadToEnd();
sReader.Close();
Regex Pages = new Regex(@"/Type\s*/Page[^s]");
MatchCollection mPages = Pages.Matches(strPDF);
return mPages.Count;
}
http://www.codeproject.com/useritems/pdfpagecountregex.asp