public class PDFGeneratingProducerNode implements ProducerNode {
private String generatorExpression;
private String destinationExpression;
+ private String stylesheet;
- public PDFGeneratingProducerNode(String aGenerator, String aDestination) {
+ public PDFGeneratingProducerNode(String aGenerator, String aDestination,String aStylesheet) {
generatorExpression=aGenerator;
destinationExpression=aDestination;
+ stylesheet=aStylesheet;
}
public void produce(Map aValueMap, String aVerb, PrintWriter aLogger) throws ProducerFailure {
String generatorIdentifier;
String destinationIdentifier;
+ String stylesheetIdentifier;
long startTime;
long endTime;
destinationIdentifier = ParameterExpander.expandExpression( aValueMap, destinationExpression );
generatorIdentifier = ParameterExpander.expandExpression( aValueMap, generatorExpression );
+ stylesheetIdentifier = ParameterExpander.expandExpression( aValueMap, stylesheet);
- aLogger.println("Generating " + generatorIdentifier + " into " + destinationIdentifier);
+ aLogger.println("Generating " + generatorIdentifier + " into " + destinationIdentifier + " using "+ stylesheetIdentifier);
aLogger.flush();
- PDFUtil.makePDF(generatorIdentifier,destinationIdentifier);
+ PDFUtil.makePDF(generatorIdentifier,destinationIdentifier,stylesheetIdentifier);
}
catch (Throwable t) {
- aLogger.println(" error while generating: " + t.getMessage());
+ t.printStackTrace();
+ aLogger.println(" error while generating: " + t.getMessage() + t.toString());
aLogger.flush();
}
endTime = System.currentTimeMillis();
return new HashSet();
}
}
+
+
+
import mircoders.entity.*;
import mircoders.storage.*;
-//because images are returned as a template model!
-import freemarker.template.*;
+//because images are returned as a template model!(maybe not needed after all!)
+//import freemarker.template.*;
public class PDFPreFormattingProducerNode implements ProducerNode {
if (images == null){
HashMap row = new HashMap();
row.put("text",((EntityContent) entity).getValue("content_data"));
+ row.put("hasImage","0");
brokenUpContent.add(row);
}
if (images != null){
else {
row0.put("text",((EntityContent) entity).getValue("content_data").substring(0,numCharsInAnImagelessRow));
}
-
+ row0.put("hasImage","0");
brokenUpContent.add(row0);
currentPosition=numCharsInAnImagelessRow;
aLogger.println("CP1 is "+ currentPosition);
aLogger.println("img_height "+Float.toString(img_height));
row1.put("img_src",currentImage.getValue("source"));
-
+ row1.put("hasImage","1");
if (! outOfText){
try {
row1.put("text",((EntityContent) entity).getValue("content_data").substring(currentPosition,currentPosition+text_amount));
outOfText = true;
}
}
+ row2.put("hasImage","0");
brokenUpContent.add(row2);
currentPosition=currentPosition+numCharsInAnImagelessRow;
aLogger.println("CP3 is "+ currentPosition);
HashMap row3 = new HashMap();
if (! outOfText){
row3.put("text",((EntityContent) entity).getValue("content_data").substring(currentPosition));
+ row3.put("hasImage","0");
brokenUpContent.add(row3);
}
}
+
+