Dear Albert/ Carlos,

We have a requirement to give link or reference to this commit. Means can we
get announcement about this commit in the form of some upcoming feature list
or news item that this new patch will be added in poppler-0.15.1? or these
mails only work for the same.

Hope our requirement is clear.

Please acknowledge  to this.

Thanks & regards
Leena C

On Fri, Sep 17, 2010 at 3:54 AM, Albert Astals Cid <
[email protected]> wrote:

>  utils/HtmlFonts.cc     |   11 +++++-
>  utils/HtmlFonts.h      |   18 +++++++++-
>  utils/HtmlOutputDev.cc |   84
> ++++++++++++++++++++++++++++++-------------------
>  utils/pdftohtml.1      |    3 +
>  utils/pdftohtml.cc     |   15 +++++++-
>  5 files changed, 93 insertions(+), 38 deletions(-)
>
> New commits:
> commit 3b4a901a4431814590449b6cd5ea418f4d6c1172
> Author: Albert Astals Cid <[email protected]>
> Date:   Thu Sep 16 23:23:03 2010 +0100
>
>    Add -s option
>
>    Writes a single html file
>    Since git does not allow multiple authors i'm adding them here
>    OSSD CDAC Mumbai by Leena Chourey ([email protected]) and Onkar
> Potdar ([email protected])
>
> diff --git a/utils/HtmlFonts.cc b/utils/HtmlFonts.cc
> index d2cbfd5..4b592d5 100644
> --- a/utils/HtmlFonts.cc
> +++ b/utils/HtmlFonts.cc
> @@ -20,6 +20,7 @@
>  // Copyright (C) 2007 Albert Astals Cid <[email protected]>
>  // Copyright (C) 2008 Boris Toloknov <[email protected]>
>  // Copyright (C) 2008 Tomas Are Haavet <[email protected]>
> +// Copyright (C) 2010 OSSD CDAC Mumbai by Leena Chourey (
> [email protected]) and Onkar Potdar ([email protected])
>  //
>  // To see a description of the changes please see the Changelog file that
>  // came with your tarball or type make ChangeLog if you are building from
> git
> @@ -288,12 +289,14 @@ int HtmlFontAccu::AddFont(const HtmlFont& font){
>  }
>
>  // get CSS font name for font #i
> -GooString* HtmlFontAccu::getCSStyle(int i, GooString* content){
> +GooString* HtmlFontAccu::getCSStyle(int i, GooString* content, int j){
>   GooString *tmp;
>   GooString *iStr=GooString::fromInt(i);
> +  GooString *jStr=GooString::fromInt(j);
>
>   if (!xml) {
>     tmp = new GooString("<span class=\"ft");
> +    tmp->append(jStr);
>     tmp->append(iStr);
>     tmp->append("\">");
>     tmp->append(content);
> @@ -303,14 +306,16 @@ GooString* HtmlFontAccu::getCSStyle(int i, GooString*
> content){
>     tmp->append(content);
>   }
>
> +  delete jStr;
>   delete iStr;
>   return tmp;
>  }
>
>  // get CSS font definition for font #i
> -GooString* HtmlFontAccu::CSStyle(int i){
> +GooString* HtmlFontAccu::CSStyle(int i, int j){
>    GooString *tmp=new GooString();
>    GooString *iStr=GooString::fromInt(i);
> +   GooString *jStr=GooString::fromInt(j);
>
>    GooVector<HtmlFont>::iterator g=accu->begin();
>    g+=i;
> @@ -322,6 +327,7 @@ GooString* HtmlFontAccu::CSStyle(int i){
>
>    if(!xml){
>      tmp->append(".ft");
> +     tmp->append(jStr);
>      tmp->append(iStr);
>      tmp->append("{font-size:");
>      tmp->append(Size);
> @@ -352,6 +358,7 @@ GooString* HtmlFontAccu::CSStyle(int i){
>
>    delete fontName;
>    delete colorStr;
> +   delete jStr;
>    delete iStr;
>    delete Size;
>    return tmp;
> diff --git a/utils/HtmlFonts.h b/utils/HtmlFonts.h
> index df2b570..54deaf8 100644
> --- a/utils/HtmlFonts.h
> +++ b/utils/HtmlFonts.h
> @@ -10,6 +10,20 @@
>  //
>  //========================================================================
>
> +//========================================================================
> +//
> +// Modified under the Poppler project - http://poppler.freedesktop.org
> +//
> +// All changes made under the Poppler project to this file are licensed
> +// under GPL version 2 or later
> +//
> +// Copyright (C) 2010 OSSD CDAC Mumbai by Leena Chourey (
> [email protected]) and Onkar Potdar ([email protected])
> +//
> +// To see a description of the changes please see the Changelog file that
> +// came with your tarball or type make ChangeLog if you are building from
> git
> +//
> +//========================================================================
> +
>  #ifndef _HTML_FONTS_H
>  #define _HTML_FONTS_H
>  #include "goo/GooVector.h"
> @@ -89,8 +103,8 @@ public:
>     g+=i;
>     return g;
>   }
> -  GooString* getCSStyle (int i, GooString* content);
> -  GooString* CSStyle(int i);
> +  GooString* getCSStyle (int i,GooString* content, int j = 0);
> +  GooString* CSStyle(int i, int j = 0);
>   int size() const {return accu->size();}
>
>  };
> diff --git a/utils/HtmlOutputDev.cc b/utils/HtmlOutputDev.cc
> index dbf677f..8ff8f08 100644
> --- a/utils/HtmlOutputDev.cc
> +++ b/utils/HtmlOutputDev.cc
> @@ -27,6 +27,7 @@
>  // Copyright (C) 2009 Reece Dunn <[email protected]>
>  // Copyright (C) 2010 Adrian Johnson <[email protected]>
>  // Copyright (C) 2010 Hib Eris <[email protected]>
> +// Copyright (C) 2010 OSSD CDAC Mumbai by Leena Chourey (
> [email protected]) and Onkar Potdar ([email protected])
>  //
>  // To see a description of the changes please see the Changelog file that
>  // came with your tarball or type make ChangeLog if you are building from
> git
> @@ -65,6 +66,7 @@ GooList *HtmlOutputDev::imgList=new GooList();
>
>  extern double scale;
>  extern GBool complexMode;
> +extern GBool singleHtml;
>  extern GBool ignore;
>  extern GBool printCommands;
>  extern GBool printHtml;
> @@ -670,22 +672,33 @@ void HtmlPage::dumpComplex(FILE *file, int page){
>   {
>       GooString* pgNum=GooString::fromInt(page);
>       tmp = new GooString(DocName);
> -      tmp->append('-')->append(pgNum)->append(".html");
> +      if (!singleHtml){
> +            tmp->append('-')->append(pgNum)->append(".html");
> +            pageFile = fopen(tmp->getCString(), "w");
> +      } else {
> +            tmp->append("-html")->append(".html");
> +            pageFile = fopen(tmp->getCString(), "a");
> +      }
>       delete pgNum;
> -
> -      if (!(pageFile = fopen(tmp->getCString(), "w"))) {
> +      if (!pageFile) {
>          error(-1, "Couldn't open html file '%s'", tmp->getCString());
>          delete tmp;
>          return;
>       }
> -      delete tmp;
>
> -      fprintf(pageFile,"%s\n<HTML>\n<HEAD>\n<TITLE>Page %d</TITLE>\n\n",
> -             DOCTYPE, page);
> +      if (!singleHtml)
> +          fprintf(pageFile,"%s\n<HTML>\n<HEAD>\n<TITLE>Page
> %d</TITLE>\n\n", DOCTYPE, page);
> +      else
> +          fprintf(pageFile,"%s\n<HTML>\n<HEAD>\n<TITLE>%s</TITLE>\n\n",
> DOCTYPE, tmp->getCString());
> +
> +      delete tmp;
>
>       htmlEncoding = HtmlOutputDev::mapEncodingToHtml
>          (globalParams->getTextEncodingName());
> -      fprintf(pageFile, "<META http-equiv=\"Content-Type\"
> content=\"text/html; charset=%s\">\n", htmlEncoding);
> +      if (!singleHtml)
> +          fprintf(pageFile, "<META http-equiv=\"Content-Type\"
> content=\"text/html; charset=%s\">\n", htmlEncoding);
> +      else
> +          fprintf(pageFile, "<META http-equiv=\"Content-Type\"
> content=\"text/html; charset=%s\">\n <br>\n", htmlEncoding);
>   }
>   else
>   {
> @@ -701,7 +714,11 @@ void HtmlPage::dumpComplex(FILE *file, int page){
>
>   fputs("<STYLE type=\"text/css\">\n<!--\n",pageFile);
>   for(int i=fontsPageMarker;i!=fonts->size();i++) {
> -    GooString *fontCSStyle = fonts->CSStyle(i);
> +    GooString *fontCSStyle;
> +    if (!singleHtml)
> +         fontCSStyle = fonts->CSStyle(i);
> +    else
> +         fontCSStyle = fonts->CSStyle(i,page);
>     fprintf(pageFile,"\t%s\n",fontCSStyle->getCString());
>     delete fontCSStyle;
>   }
> @@ -732,7 +749,10 @@ void HtmlPage::dumpComplex(FILE *file, int page){
>              xoutRound(tmp1->yMin),
>              xoutRound(tmp1->xMin));
>       fputs("<nobr>",pageFile);
> -      str1=fonts->getCSStyle(tmp1->fontpos, str);
> +      if (!singleHtml)
> +          str1=fonts->getCSStyle(tmp1->fontpos, str);
> +      else
> +          str1=fonts->getCSStyle(tmp1->fontpos, str, page);
>       fputs(str1->getCString(),pageFile);
>       delete str;
>       delete str1;
> @@ -752,7 +772,7 @@ void HtmlPage::dumpComplex(FILE *file, int page){
>
>  void HtmlPage::dump(FILE *f, int pageNum)
>  {
> -  if (complexMode)
> +  if (complexMode || singleHtml)
>   {
>     if (xml) dumpAsXML(f, pageNum);
>     if (!xml) dumpComplex(f, pageNum);
> @@ -943,28 +963,30 @@ HtmlOutputDev::HtmlOutputDev(char *fileName, char
> *title,
>   // for non-xml output (complex or simple) with frames generate the left
> frame
>   if(!xml && !noframes)
>   {
> -     GooString* left=new GooString(fileName);
> -     left->append("_ind.html");
> -
> -     doFrame(firstPage);
> -
> -     if (!(fContentsFrame = fopen(left->getCString(), "w")))
> -        {
> -        error(-1, "Couldn't open html file '%s'", left->getCString());
> -               delete left;
> -        return;
> +     if (!singleHtml)
> +     {
> +         GooString* left=new GooString(fileName);
> +         left->append("_ind.html");
> +
> +         doFrame(firstPage);
> +
> +         if (!(fContentsFrame = fopen(left->getCString(), "w")))
> +         {
> +             error(-1, "Couldn't open html file '%s'",
> left->getCString());
> +             delete left;
> +             return;
> +         }
> +         delete left;
> +         fputs(DOCTYPE, fContentsFrame);
> +
> fputs("<HTML>\n<HEAD>\n<TITLE></TITLE>\n</HEAD>\n<BODY>\n",fContentsFrame);
> +
> +         if (doOutline)
> +         {
> +             GooString *str = basename(Docname);
> +             fprintf(fContentsFrame, "<A href=\"%s%s\"
> target=\"contents\">Outline</a><br>", str->getCString(), complexMode ?
> "-outline.html" : "s.html#outline");
> +             delete str;
> +         }
>      }
> -     delete left;
> -     fputs(DOCTYPE, fContentsFrame);
> -
> fputs("<HTML>\n<HEAD>\n<TITLE></TITLE>\n</HEAD>\n<BODY>\n",fContentsFrame);
> -
> -       if (doOutline)
> -       {
> -               GooString *str = basename(Docname);
> -               fprintf(fContentsFrame, "<A href=\"%s%s\"
> target=\"contents\">Outline</a><br>", str->getCString(), complexMode ?
> "-outline.html" : "s.html#outline");
> -               delete str;
> -       }
> -
>        if (!complexMode)
>        {       /* not in complex mode */
>
> diff --git a/utils/pdftohtml.1 b/utils/pdftohtml.1
> index 6cdc6c6..bbdfa56 100644
> --- a/utils/pdftohtml.1
> +++ b/utils/pdftohtml.1
> @@ -40,6 +40,9 @@ exchange .pdf links with .html
>  .B \-c
>  generate complex output
>  .TP
> +.B \-s
> +generate single html that includes all pages
> +.TP
>  .B \-i
>  ignore images
>  .TP
> diff --git a/utils/pdftohtml.cc b/utils/pdftohtml.cc
> index 5762f90..5323b6e 100644
> --- a/utils/pdftohtml.cc
> +++ b/utils/pdftohtml.cc
> @@ -17,6 +17,7 @@
>  // Copyright (C) 2010 Hib Eris <[email protected]>
>  // Copyright (C) 2010 Mike Slegeir <[email protected]>
>  // Copyright (C) 2010 Suzuki Toshiya <[email protected]>
> +// Copyright (C) 2010 OSSD CDAC Mumbai by Leena Chourey (
> [email protected]) and Onkar Potdar ([email protected])
>  //
>  // To see a description of the changes please see the Changelog file that
>  // came with your tarball or type make ChangeLog if you are building from
> git
> @@ -67,6 +68,7 @@ GBool printCommands = gTrue;
>  static GBool printHelp = gFalse;
>  GBool printHtml = gFalse;
>  GBool complexMode=gFalse;
> +GBool singleHtml=gFalse; // singleHtml
>  GBool ignore=gFalse;
>  GBool useSplash=gTrue;
>  char extension[5]="png";
> @@ -107,6 +109,8 @@ static const ArgDesc argDesc[] = {
>    "exchange .pdf links by .html"},
>   {"-c",      argFlag,     &complexMode,          0,
>    "generate complex document"},
> +  {"-s",      argFlag,     &singleHtml,          0,
> +   "generate single document that includes all pages"},
>   {"-i",      argFlag,     &ignore,        0,
>    "ignore images"},
>   {"-noframes", argFlag,   &noframes,      0,
> @@ -293,7 +297,7 @@ int main(int argc, char *argv[]) {
>    if (scale>3.0) scale=3.0;
>    if (scale<0.5) scale=0.5;
>
> -   if (complexMode) {
> +   if (complexMode || singleHtml) {
>      //noframes=gFalse;
>      stout=gFalse;
>    }
> @@ -301,11 +305,13 @@ int main(int argc, char *argv[]) {
>    if (stout) {
>      noframes=gTrue;
>      complexMode=gFalse;
> +     singleHtml=gFalse;
>    }
>
>    if (xml)
>    {
>        complexMode = gTrue;
> +       singleHtml = gFalse;
>        noframes = gTrue;
>        noMerge = gTrue;
>    }
> @@ -359,7 +365,10 @@ int main(int argc, char *argv[]) {
>   }
>  #endif
>
> -  rawOrder = complexMode; // todo: figure out what exactly rawOrder do :)
> +  if (!singleHtml)
> +      rawOrder = complexMode; // todo: figure out what exactly rawOrder do
> :)
> +  else
> +      rawOrder = singleHtml;
>
>   // write text file
>   htmlOut = new HtmlOutputDev(htmlFileName->getCString(),
> @@ -400,7 +409,7 @@ int main(int argc, char *argv[]) {
>        }
>   }
>
> -  if( complexMode && !xml && !ignore ) {
> +  if ((complexMode || singleHtml) && !xml && !ignore) {
>     if(useSplash) {
>  #ifdef HAVE_SPLASH
>       GooString *imgFileName = NULL;
> _______________________________________________
> poppler mailing list
> [email protected]
> http://lists.freedesktop.org/mailman/listinfo/poppler
>
_______________________________________________
poppler mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/poppler

Reply via email to