Dateigröße eines PDF aus PDF-Kanal
Author: mkrohmann
Publication Date: 10/4/2011 11:24
Hallo,
ich würde gerne neben dem Link zum Download des PDF einer Seite (generiert über PDF-Kanal) die Dateigröße der Zieldatei ausgeben. Über die Access-API habe ich leider keine Möglichkeit finden können. FirstSpirit Version: 4.2.437.44763
Vielen Dank und viele Grüße
Michael Krohmann
Tags: fs4.2r4, pdf, presentation_channel, size
-
Author: MarcusDau - 10/4/2011 12:42
Das kannste doch einfach per Java lösen:
File file = new File(pathToFile);
// Get the number of bytes in the file
long size = file.length();
Dann noch ein wenig aufhübschen (hier nicht schön, aber es geht):
DecimalFormat decFormatter = new DecimalFormat("####");
if (size >= 1073741824)
{
return decFormatter.format(java.lang.Math.round(size / 1024f / 1024 / 1024 * 100) / 100) + " GB";
}
else if (size >= 1048576)
{
return decFormatter.format(java.lang.Math.round(size / 1024f / 1024 * 100) / 100) + " MB";
}
else if (size >= 1024)
{
return decFormatter.format(java.lang.Math.round(size / 1024f * 100) / 100) + " kB";
}
else if (size == 1)
{
return decFormatter.format(java.lang.Math.round(size * 100) / 100) + " Byte";
}
else if (size > 0 && size < 1024)
{
return decFormatter.format(java.lang.Math.round(size * 100) / 100) + " Bytes";
}
else
{
return "0 Bytes";
}
Grüße
Marcus
0 -
Author: mkrohmann - 10/4/2011 12:51
Danke für Deine Antwort!
Kann ich das denn auch zum Zeitpunkt der Generierung? Die ausgelieferte Seite ist eine reine HTML-Seite, also keine Dynamik per Java möglich.
Grüße
Michael
0 -
Author: MarcusDau - 10/4/2011 13:00
Vielleicht geht das über nen Beanshell-Script? Erst den pdf-Kanal generieren lassen, dann ist das pdf ja schon mal da. Und dann dieses im Script einlesen mit der obigen Methode.
Ist nur ne Idee. Keine Ahnung, ob es geht. Gibt bestimmt was noch viel einfacheres...
0 -
Author: stephan - 10/5/2011 13:14
In der Regel wird der HTML-Kanal vor dem PDF-Kanal erzeugt, so dass die Dateigröße der PDFs in diesem Fall zum Generierungszeitpunkt noch nicht bekannt ist. Eine einfache Lösung des Problems existiert leider nicht, bzw. nur für PDFs die im Mediastore liegen - was hier ja leider nicht der Fall ist.
In Ihrem Fall würde man wahrscheinlich zwei getrennte Generierungen durchführen, einmal den PDF Kanal und immer danach den HTML Kanal, so dass sichergestellt ist, dass die PDFs bereits generiert wurden.
Dadurch ist es dann möglich in den Templates des HTML-Kanals inline oder mit Script die Dateigrößen der PDFs zu ermitteln.
0 -
Author: MarcusDau - 10/5/2011 13:18
Genau das war mein Vorschlag in dem Beitrag darüber! Prima, dann geht das ja doch!
0 -
Author: mkrohmann - 10/10/2011 1:33
Perfekt, vielen Dank!
Grüße
Michael
0
Vous devez vous connecter pour laisser un commentaire.
Commentaires
6 commentaires