convert html->pdf in descriptions, not just content.
authorjohn <john>
Thu, 4 Dec 2003 18:31:45 +0000 (18:31 +0000)
committerjohn <john>
Thu, 4 Dec 2003 18:31:45 +0000 (18:31 +0000)
source/mircoders/pdf/PDFGenerator.java

index c9429c6..0d5d6b3 100755 (executable)
@@ -656,7 +656,7 @@ public class PDFGenerator{
 
     String theDescriptionRaw = entityContent.getValue("description");
     String theContentRaw = entityContent.getValue("content_data");
-    String theSource =  configuration.getString("Producer.ProductionHost") + "/" + configuration.getString("StandardLanguage") + entityContent.getValue("publish_path") + entityContent.getValue("id") + ".shtml";
+    String theSource =  configuration.getString("Producer.PublicationHost") + "/" + configuration.getString("StandardLanguage") + entityContent.getValue("publish_path") + entityContent.getValue("id") + ".shtml";
 
 
 
@@ -670,27 +670,35 @@ public class PDFGenerator{
       try {
   RE nobackslashr = new RE("\r");
   theContent= nobackslashr.substituteAll(theContentRaw,"");
+  theDescription= nobackslashr.substituteAll(theDescriptionRaw,"");
 
   RE HxTag = new RE("</?h[1-6][^>]*>",RE.REG_ICASE);
   theContent = HxTag.substituteAll(theContent,"\n\n");
+  theDescription = HxTag.substituteAll(theDescription,"\n\n");
 
   RE ListItemTag = new RE("<li[^>]*>",RE.REG_ICASE);
   theContent = ListItemTag.substituteAll(theContent,"\n * ");
+  theDescription = ListItemTag.substituteAll(theDescription,"\n * ");
 
   RE ListTag = new RE("<(u|o)l[^>]*>",RE.REG_ICASE);
   theContent = ListTag.substituteAll(theContent,"\n");
+  theDescription = ListTag.substituteAll(theDescription,"\n");
 
   RE DivTag = new RE("</?div[^>]*>",RE.REG_ICASE);
   theContent= DivTag.substituteAll(theContent,"\n");
+  theDescription= DivTag.substituteAll(theDescription,"\n");
 
   RE PTag = new RE("<(p|P)([:space:]+[^>]*)?>");
   theContent= PTag.substituteAll(theContent,"\n    ");
+  theDescription= PTag.substituteAll(theDescription,"\n    ");
 
   RE PTagClose = new RE("</(p|P)([:space:]+[^>]*)?>");
   theContent= PTagClose.substituteAll(theContent,"\n");
+  theDescription= PTagClose.substituteAll(theDescription,"\n");
 
   RE BRTag = new RE("<(br|BR)([:space:]+[^>]*)?>");
   theContent= BRTag.substituteAll(theContent,"\n");
+  theDescription= BRTag.substituteAll(theDescription,"\n");
 
   RE ATagAll = new RE("<a[^>]*href=(?:\"|\')([^#\"\'][^\'\"]+)(?:\"|\')[^>]*>(.*?)</a>",RE.REG_ICASE);
   REMatchEnumeration atags= ATagAll.getMatchEnumeration(theContent);
@@ -705,13 +713,28 @@ public class PDFGenerator{
   }
   theContent=theContentCopy;
 
+  REMatchEnumeration atags2= ATagAll.getMatchEnumeration(theDescription);
+  String theDescriptionCopy=theDescription;
+  while (atags2.hasMoreMatches()){
+    REMatch atag = atags2.nextMatch();
+    String atagString=atag.toString();
+    String atagStringHref=atag.toString(1);
+    String atagStringText=atag.toString(2);
+    int begin=theDescriptionCopy.indexOf(atagString);
+    theDescriptionCopy=theDescriptionCopy.substring(0,begin) + atagStringText + " ["+ atagStringHref + "] " + theDescriptionCopy.substring(begin+atagString.length());
+  }
+  theDescription=theDescriptionCopy;
+
+
   RE noTags = new RE("<[^>]*>");
   theContent= noTags.substituteAll(theContent," ");
+  theDescription= noTags.substituteAll(theDescription," ");
 
   theContent=mir.util.Translate.decode(theContent);
+  theDescription=mir.util.Translate.decode(theDescription);
 
   RE re1 = new RE("\r?\n\r?\n");
-  String theDescription1 = re1.substituteAll(theDescriptionRaw,"BREAKHERE");
+  String theDescription1 = re1.substituteAll(theDescription,"BREAKHERE");
 
   RE re2 = new RE("\r?\n");
   String theDescription2 = re2.substituteAll(theDescription1," ");