pour présenter des excuses réponse tardive. L'idée de 'marque d'eau' ici pour ajouter ajouter quelques transformations dans le pdf original en utilisant apache fop. Vous pouvez utiliser l'exemple de code java et l'exemple de modèle fo à partir du site Web apache fop.
Dans tous les cas, je vais illustrer l'exemple ici aussi: 1. le code java comment utiliser FOP
import org.apache.fop.apps.*;
import org.xml.sax.*;
import java.io.*;
import javax.xml.transform.*;
import javax.xml.transform.sax.*;
import javax.xml.transform.stream.*;
class rendtest {
private static FopFactory fopFactory = FopFactory.newInstance(new File(".").toURI());
private static TransformerFactory tFactory = TransformerFactory.newInstance();
public static void main(String args[]) {
OutputStream out;
try {
//Load the stylesheet
Templates templates = tFactory.newTemplates(
new StreamSource(new File(args[1])));
//First run (to /dev/null)
out = new org.apache.commons.io.output.NullOutputStream();
FOUserAgent foUserAgent = fopFactory.newFOUserAgent();
Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, foUserAgent, out);
Transformer transformer = templates.newTransformer();
transformer.setParameter("page-count", "#");
transformer.transform(new StreamSource(new File(args[0])),
new SAXResult(fop.getDefaultHandler()));
//Get total page count
String pageCount = Integer.toString(driver.getResults().getPageCount());
//Second run (the real thing)
out = new java.io.FileOutputStream(args[2]);
out = new java.io.BufferedOutputStream(out);
try {
foUserAgent = fopFactory.newFOUserAgent();
fop = fopFactory.newFop(MimeConstants.MIME_PDF, foUserAgent, out);
transformer = templates.newTransformer();
transformer.setParameter("page-count", pageCount);
transformer.transform(new StreamSource(new File(args[0])),
new SAXResult(fop.getDefaultHandler()));
} finally {
out.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
- pour le problème que j'avais pour le rendu paysage pdf: s, dans le modèle fop, il suffit d'ajouter un attribut pour indiquer que ce fichier est en format paysage. L'attribut est de définir reference-orientation = "90". Ensuite, vos autres définitions dans le modèle fop seront appliquées correctement.
Répondu ici: https://issues.apache.org/jira/browse/PDFBOX-3434 –
:-) merci beaucoup! – ryuukei
Enfin, faites le fonctionner, la solution est d'ajouter une configuration d'orientation dans xsl: fo dans les paramètres de la page. par exemple. \t \t \t ' –
ryuukei