[poppler] utils/HtmlFonts.cc utils/HtmlFonts.h utils/HtmlOutputDev.cc utils/pdftohtml.1 utils/pdftohtml.cc
Albert Astals Cid
aacid at kde.org
Fri Sep 17 11:19:22 PDT 2010
A Divendres, 17 de setembre de 2010, leena chourey va escriure:
> 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.
Not really sure i understand what you want, you want this url?
http://cgit.freedesktop.org/poppler/poppler/commit/?id=3b4a901a4431814590449b6cd5ea418f4d6c1172
Albert
>
> Please acknowledge to this.
>
> Thanks & regards
> Leena C
>
> On Fri, Sep 17, 2010 at 3:54 AM, Albert Astals Cid <
>
> aacid at kemper.freedesktop.org> 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 <aacid at kde.org>
> > 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 (leenac at cdacmumbai.in) and Onkar
> >
> > Potdar (onkar at cdacmumbai.in)
> >
> > 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 <aacid at kde.org>
> > // Copyright (C) 2008 Boris Toloknov <tlknv at yandex.ru>
> > // Copyright (C) 2008 Tomas Are Haavet <tomasare at gmail.com>
> >
> > +// Copyright (C) 2010 OSSD CDAC Mumbai by Leena Chourey (
> > leenac at cdacmumbai.in) and Onkar Potdar (onkar at cdacmumbai.in)
> >
> > //
> > // 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 (
> > leenac at cdacmumbai.in) and Onkar Potdar (onkar at cdacmumbai.in)
> > +//
> > +// 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 <msclrhd at gmail.com>
> > // Copyright (C) 2010 Adrian Johnson <ajohnson at redneon.com>
> > // Copyright (C) 2010 Hib Eris <hib at hiberis.nl>
> >
> > +// Copyright (C) 2010 OSSD CDAC Mumbai by Leena Chourey (
> > leenac at cdacmumbai.in) and Onkar Potdar (onkar at cdacmumbai.in)
> >
> > //
> > // 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 <hib at hiberis.nl>
> > // Copyright (C) 2010 Mike Slegeir <tehpola at yahoo.com>
> > // Copyright (C) 2010 Suzuki Toshiya <mpsuzuki at hiroshima-u.ac.jp>
> >
> > +// Copyright (C) 2010 OSSD CDAC Mumbai by Leena Chourey (
> > leenac at cdacmumbai.in) and Onkar Potdar (onkar at cdacmumbai.in)
> >
> > //
> > // 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
> > poppler at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/poppler
More information about the poppler
mailing list