Wie kann ich einen QR-Code in DOCX mit OOXML erzeugen?

Antwort

Um einen QR-Code in einer DOCX-Datei mit Hilfe von OOXML (Office Open XML) zu erzeugen, kannst du die folgenden Schritte befolgen: 1. **QR-Code generieren**: Zuerst musst du einen QR-Code generieren. Dies kann mit einer Bibliothek wie ZXing oder einer Online-API erfolgen. Der QR-Code sollte als Bilddatei (z.B. PNG oder JPEG) gespeichert werden. 2. **DOCX-Datei erstellen oder öffnen**: Verwende eine Bibliothek wie `DocumentFormat.OpenXml` in C#, um eine neue DOCX-Datei zu erstellen oder eine bestehende zu öffnen. 3. **Bild in die DOCX-Datei einfügen**: - Füge das Bild des QR-Codes in die DOCX-Datei ein. Hier ist ein Beispiel, wie du das in C# machen kannst: ```csharp using DocumentFormat.OpenXml.Packaging; using DocumentFormat.OpenXml.Wordprocessing; using System.IO; public void InsertQrCode(string docxFilePath, string qrCodeImagePath) { using (WordprocessingDocument wordDoc = WordprocessingDocument.Open(docxFilePath, true)) { MainDocumentPart mainPart = wordDoc.MainDocumentPart; // Bild hinzufügen AddImageToBody(mainPart, qrCodeImagePath); } } private void AddImageToBody(MainDocumentPart mainPart, string imagePath) { // Bildstream öffnen using (FileStream stream = new FileStream(imagePath, FileMode.Open)) { ImagePart imagePart = mainPart.AddImagePart(ImagePartType.Png); imagePart.FeedData(stream); AddImageToDocument(mainPart.GetIdOfPart(imagePart)); } } private void AddImageToDocument(string relationshipId) { var element = new Drawing( new DW.Inline( new DW.Extent() { Cx = 990000L, Cy = 792000L }, new DW.EffectExtent() { LeftEdge = 0L, TopEdge = 0L, RightEdge = 0L, BottomEdge = 0L }, new DW.DocProperties() { Id = (UInt32Value)1U, Name = "QR Code" }, new DW.NonVisualGraphicFrameDrawingProperties(new A.GraphicFrameLocks() { NoChangeAspect = true }), new A.Graphic( new A.GraphicData( new A.Pictures.Picture( new A.Pictures.NonVisualPictureProperties( new A.Pictures.NonVisualDrawingProperties() { Id = (UInt32Value)0U, Name = "QR Code" }, new A.Pictures.NonVisualPictureDrawingProperties()), new A.Pictures.BlipFill( new A.Blip() { Embed = relationshipId }, new A.Stretch(new A.FillRectangle())), new A.Pictures.ShapeProperties( new A.Transform2D( new A.Extents() { Cx = 990000L, Cy = 792000L }, new A.OfficeArtExtensionList()))))) )); mainPart.Document.Body.AppendChild(new Paragraph(new Run(element))); } ``` 4. **DOCX speichern**: Speichere die Änderungen an der DOCX-Datei. Mit diesen Schritten kannst du einen QR-Code in eine DOCX-Datei einfügen. Stelle sicher, dass du die entsprechenden Bibliotheken in deinem Projekt referenzierst.

Kategorie: Technologie Tags: QRCode DOCX OOXML
Frage stellen und sofort Antwort erhalten

Verwandte Fragen

Was ist der Unterschied zwischen xdr:blipFill und pic:blipFill in OOXML?

In OOXML (Office Open XML) gibt es verschiedene Namensräume, die unterschiedliche Aspekte von Dokumenten definieren. Der Unterschied zwischen `xdr:blipFill` und `pic:blipFill` liegt in den spezif... [mehr]

In welcher Maßeinheit werden in OOXML für Excel Maße von Bildern angegeben?

In OOXML (Office Open XML) für Excel werden die Maße von eingefügten Bildern in EMUs (English Metric Units) angegeben. Ein EMU entspricht 1/3600000 von einem Meter. Diese Einheit erm&o... [mehr]