Étiquette : Java

[Java] Regrouper plusieurs PDF en un seul

[Java] Regrouper plusieurs PDF en un seul

Avec la librairie PDFBox, vous pouvez regrouper plusieurs documents PDF en un seul, de manière assez simple. Dans les exemples que je vais donner ici, j’ai utilisé la version 2.0.0-RC2. Vous la retrouverez sur la page de téléchargement du site web. Si vous utilisiez une version 1.x, n’hésitez pas à consulter le guide de migration et la liste de dépendances.

Poursuivre la lecture « [Java] Regrouper plusieurs PDF en un seul »

[Java] Parser alternatif avec PDFBox 1.8

[Java] Parser alternatif avec PDFBox 1.8

Dans les versions de PDFBox 1.8, un parser « non-séquentiel » a été mis en place, mais celui-ci n’est pas utilisé par défaut. Ainsi, au lieu d’utiliser la fonction « load()« , comme expliqué dans le billet du 26 mai 2015, on peut utiliser « loadNonSeq() » pour charger le document PDF. En fait cela est vivement recommandé, d’après ce qu’on lit un peu partout sur internet.

Poursuivre la lecture « [Java] Parser alternatif avec PDFBox 1.8 »

[Java] Jsoup HTML Parser

[Java] Jsoup HTML Parser

Il arrive parfois que l’on retrouve des fichiers dans un format Excel qui ne le sont pas vraiment. En y regardant de plus près et même si l’extension est « xls« , on peut tomber nez-à-nez avec un fichier HTML qui contient un tableau. Dans notre cas il a fallu transformer le fichier suivant en un fichier CSV (séparateur « ; »).

Avec Jsoup, c’est beaucoup plus facile à réaliser ! Il va « parser » le contenu du fichier donné en paramètre… il ne reste plus qu’à manipuler et traiter les différents éléments.

Poursuivre la lecture « [Java] Jsoup HTML Parser »

[Java] Charger et imprimer un PDF

[Java] Charger et imprimer un PDF

Comme nous l’avons vu ci-dessous, il est possible de charger et d’imprimer un document PDF grâce à la librairie PDFBox fournie par Apache. Pour rappel elle également de créer et manipuler des documents dans ce format ainsi que d’en extraire du contenu voire exporter au format image. Nous allons voir comment imprimer un ensemble de documents dont on a stocké l’emplacement dans un fichier texte.

Poursuivre la lecture « [Java] Charger et imprimer un PDF »

[Java] Bibliothèque pour manipuler des PDF

[Java] Bibliothèque pour manipuler des PDF

Pour une raison ou pour une autre vous pouvez être amenés à manipuler des PDF par programmation. De nombreux SDK sont proposés, notamment par Adobe ou même Foxit, mais ceux-ci sont plutôt couteux. Cependant il existe une alternative open-source, peut-être moins complète mais qui dépanne pourtant bien, et celle-ci est proposée par Apache. Il s’agit de la bibliothèque PDFBox.

Poursuivre la lecture « [Java] Bibliothèque pour manipuler des PDF »

[Java] Problème config. Axis2/Netbeans 7.4+

[Java] Problème config. Axis2/Netbeans 7.4+

A partir de NetBeans 7.4, le plugin Axis2 Support semble poser un petit problème.

En effet, lorsqu’on configure les différents paramètres de l’onglet fraichement apparu dans la fenêtre d’options, les valeurs ne s’enregistrent pas dans le fichier de properties. Il faudra donc le créer soi-même. L’astuce a été rajoutée à l’article initial “Axis2 et Web Service Partie 1” mais la voici copiée-collée :

Netbeans ne crée pas le fichier de configuration du module et donc, à chaque fois, on se retrouve avec les options par défaut lors de la réouverture du logiciel. Pour pallier ce problème, il faut effectuer les manipulations suivantes (valable pour Windows 7 et 8):

  • Se rendre dans le dossier suivant : %USERPROFILE%\AppData\Roaming\NetBeans\7.4\config\Preferencesorgnetbeansmodules
  • Créer un sous-dossier “websvc”.
  • Créer un fichier “axis2.properties”.
  • Ajouter les propriétés suivantes (doubler les slashs pour le dossier de déploiement):

AXIS_DEPLOY=
AXIS_URL=
TOMCAT_MANAGER_PASSWORD=
TOMCAT_MANAGER_USER=

Bon développement à tous !

[Java] Exemple d’utilisation de l’API StAX 2

[Java] Exemple d’utilisation de l’API StAX 2

StAX 2 est une API expérimentale, de type “pull”, basée sur l’API StAX. La seule implémentation connue jusqu’à présent est Woodstox. Elle vise à étendre les possibilités de StAX en ajoutant des fonctionnalités supplémentaires : l’accès à des informations qui étaient inaccessibles auparavant (DOCTYPE, index de l’attribut, vérifier si l’élément est vide, obtenir le niveau actuel de l’élément), la conversion du contenu textuel en contenu typé (v3.0 – Woodstock v4.0), etc. Le téléchargement des packages se fait sur la page officielle.

Poursuivre la lecture « [Java] Exemple d’utilisation de l’API StAX 2 »

[Java] Exécuter un lot de requêtes SQL

[Java] Exécuter un lot de requêtes SQL

Grâce à JDBC, il vous est possible de gagner en performances en exécutant un lot de requêtes – aussi appelé “batch” – pour effectuer des insertions, des mises à jour ou même des suppressions. Par défaut, toutes les requêtes seront considérées chacune comme étant des transactions, car l’auto-commit est activé lors de l’utilisation de l’objet Connection.

Poursuivre la lecture « [Java] Exécuter un lot de requêtes SQL »

[Java] Axis2 et Web Service, les plus…

[Java] Axis2 et Web Service, les plus…

Nous avons déjà abordé avec vous la création de web services en Java en utilisant le module Axis2 qui s’installe sur un serveur Apache Tomcat. Dans la première partie, nous vous expliquions en bref comment déployer le module sur le serveur, comment le configurer et comment définir le mot de passe de l’administrateur. Nous vous donnions également l’astuce pour installer le plugin dans NetBeans, dont le support n’est plus assuré officiellement.

Poursuivre la lecture « [Java] Axis2 et Web Service, les plus… »

[WD17] Le délai d’attente de la requête a expiré

[WD17] Le délai d’attente de la requête a expiré

Lorsque vous tentez d’exécuter une requête sur un serveur distant SQL Server, vous pouvez obtenir l’erreur suivante : “Erreur 80040e31, le délai d’attente de la requête a expiré”. En fait, le serveur n’a pas répondu assez vite à la commande envoyée.

En effet, il faut bien distinguer le temps d’exécution maximum d’une requête distante (qu’on définit dans les paramètres de SQL Server) et le temps accordé avant qu’une commande envoyée n’expire. C’est pour cela qu’on ne doit pas modifier directement de paramètre sur le serveur mais bien dans la chaine de connexion à la base de données.

Poursuivre la lecture « [WD17] Le délai d’attente de la requête a expiré »