Aller au contenu
  • 0
AtelierDJ

nouveau bvr suisse avec qr code

Question

Bonjour,

Est-ce que quelqu'un aurait une solution pour réaliser le Qr code suisse fin d'éditer avec Filemaker la facturation selon cette nouvel norme (fichier en annexe) ? 

Avec mes remerciements et mes plus cordiales salutations.

DJ

ig-qr-bill-fr.pdf

Partager ce message


Lien à poster
Partager sur d’autres sites

8 réponses à cette question

Messages recommandés

  • 0

Bonjour,

Pour générer le QR Code je vous conseille l'utilisation d'un plug-in. Il en existe deux, payants, qui permettent de réaliser rapidement des QR Code dans FileMaker :

Je n'ai pas vu dans le premier la possibilité d'ajouter une image au centre du QR Code (pour l'ajout de la Croix Suisse), par contre le second oui, il a même un exemple pour générer le Swiss QR Code de paiement : 

http://x2max.com/docs/refs/functions/barcode_qr/

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Voir sussi cette discussion sur un forum gérmanophone, qui solève pas mal de points pértinents :

https://filemaker-magazin.de/forum/alle-beitraege/175877

Avec, entre autre, ce fichier d’exemple :

https://filemaker-magazin.de/attachements/176450/original/Fill_Form_Fields.fmp12.zip?1514360448

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

c'est aussi maintenant possible avec MBS avec la croix suisse, il y a un exemple de génération spécifique

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Bonjour,

c'est aussi possible avec le plugin (gratuit) Scriptmaster et l'API Google "zxing" (juste les modules core et javase).

zxing_QRCodeWriteWithImageOverlay( QRC_Data ; QRC_Height ; QRC_Width ; IMGOverlay_Path ; QRC_OutputPath )

les paramètres de la fonction étant:

  • QRC_Data: les données à représenter sous forme de QRCode.
  • QRC_Height : la hauteur en pixels du QRCode.
  • QRC_Width: la largeur en pixels du QRCode .
  • IMGOverlay_Path: le chemin (au format Système) de l'image à ajouter en superposition. (the swiss cross)
  • QRC_OutputPath: le chemin de sortie (au format système) de l'image représentant le QRCode.
RegisterGroovy( "zxing_QRCodeWriteWithImageOverlay( QRC_Data ; QRC_Height ; QRC_Width ; IMGOverlay_Path ; QRC_OutputPath )" ; "import com.google.zxing.BarcodeFormat¶
import com.google.zxing.EncodeHintType¶
import com.google.zxing.WriterException¶
import com.google.zxing.client.j2se.MatrixToImageWriter¶
import com.google.zxing.qrcode.QRCodeWriter¶
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel¶
¶
import javax.imageio.ImageIO¶
import java.awt.*¶
import java.awt.image.BufferedImage¶
¶
import static java.awt.AlphaComposite.getInstance¶
¶
try{¶
    def writer = new QRCodeWriter()¶
    def hints = new HashMap<>()[EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H]¶
    def matrix = writer.encode( QRC_Data, BarcodeFormat.QR_CODE, QRC_Height as int, QRC_Width as int, hints )¶
¶
    def qrImg = MatrixToImageWriter.toBufferedImage(matrix)¶
    def overlay = ImageIO.read(new File( IMGOverlay_Path ))¶
¶
    // Deltas Hauteur/Largeur¶
    deltaHeight = qrImg.height - overlay.height¶
    deltaWidth  = qrImg.width  - overlay.width¶
¶
    // Dessine nouvelle image PNG avec superposition img additionnelle centrée¶
    def combined = new BufferedImage(QRC_Height as int, QRC_Width as int, BufferedImage.TYPE_INT_ARGB)¶
    def g = combined.graphics as Graphics2D¶
    g.drawImage qrImg, 0, 0, null¶
    g.composite = getInstance(AlphaComposite.SRC_OVER, 1f)¶
    g.drawImage overlay, Math.round(deltaWidth / 2) as int, Math.round( deltaHeight / 2) as int, null¶
¶
    ImageIO.write(combined, \"PNG\", new File( QRC_OutputPath ) )¶
    true¶
} catch (WriterException w){¶
    \"ERROR: $w.message\"¶
} catch (Exception e){¶
    \"ERROR: $e.message\"¶
}"; "isGui=false" )

 

Par flemme, je n'ai pas intégré dans le code ci-dessus une 'croix suisse' se recalculant/redimensionnant automatiquement selon la quantité de données à afficher dans le QRCode (…mais cette opération est facilement intégrable dans le script groovy…).

--------------------------------------------------------------------------------------------

Pour l'exemple et pour l'image de superposition, j'ai  produit 3 images de taille différentes(à 24/32/48 px)  et pour les données , le texte de l'url de ton message…

Pour info,ma version de FM ne permettant des scripts  'modernes' , ces images ont produites avec une vielle version des APIs (2010 env.)

QRCode_FMTopic_24.png.67e85026dbd7c6924af6fb5ef3b22503.pngQRCode_FMTopic_32.png.ad14280892990d4f5d24af6ee6c0dfca.pngQRCode_FMTopic_48.png.fa7f156ebf01a66c8723cb308072ebba.png

------------------------------------------------------------------------------------------------------

CH-Kreuz_24px.pngCH-Kreuz_32px.pngCH-Kreuz_48px.png

QRCode_FMTopic.png

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Bonsoir à chacun et grand merci de vos aides.

Comme je suis débutant avec FileMaker et n'ayant pas de formation en informatique, j'aurais besoin d'un B-A BA pour m'en sortir ou lors si l'un ou l'autre pouvait me forunir un fichier exemple ce serait magnifique. J'ai bien installé le plugin (gratuit) Scriptmaster et l'API Google "zxing" (juste les modules core et javase) mais après, je galère ;-(((

Merci d'avance à vous.

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Bonjour,

pas de pb pour un exemple; mais juste un peu de temps pour relire plus en détails les spécifications techniques et fonctionnelles du payement Swiss QRCode, intégrer l'automatisation de la mise à l'échelle de la croix suisse et … produire le document.

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

  • En ligne récemment   0 membre est en ligne

    Aucun utilisateur enregistré regarde cette page.

×