HTML-like PDF-Erzeugung

Mit dem Python Modul PDFDocument im Zusammenhang mit Reportlab lassen sich spielend leicht PDF-Dokumente mit Python generieren. Es werden dabei zwei verschiedene Templates (für Reports oder im Letter-Style) verwendet, mit denen sich anhand einer HTML-ähnlichen Syntax PDF-Dateien erzeugen lassen.

Hier die unterstützten Typen:

  • pdf.style.normal
  • pdf.style.heading1
  • pdf.style.heading2
  • pdf.style.heading3
  • pdf.style.small
  • pdf.style.bold
  • pdf.style.right
  • pdf.style.indented
  • pdf.style.paragraph
  • pdf.style.table

CATIA V6 automatisieren mit Python unter Windows

CATIA V6 im Blue LayerDas neue CAD- und PLM-System CATIA V6 von Dassault Systemes kann mit Python unter Windows genauso einfach automatisiert werden, wie das gerade in Ablösung befindliche CATIA V5. Da das neue System aber nicht mehr auf das Dateisystem des Benutzers zurückgreift, sondern mit einer Datenbank gegen einen PLM-Server arbeitet, muss man hierbei den Zugriff auf die CAD-Daten natürlich komplett anders gestalten. Dieser Artikel zeigt, wie man automatisiert CAD-Daten identifiziert und diese für einen Vergleich in die Turntable View des Silver Layer lädt.

COM-Anwendungen lassen sich mit Python z.B. mit comtypes oder mit dem Pywin32 Modul, welches in der ActivePython Distribution enthalten ist automatisieren. Meine Beispiele hier verwenden Pywin32.

Wenn Sie die folgenden Beispiele laufen lassen, sorgen Sie bitte dafür, dass CATIA V6 bereits gestartet ist und eine PLM-Verbindung existiert.

Das erste Beispiel gibt einfach die Namen (PLMExternalID) der selektierten CAD-Daten aus einer Trefferliste (im Silver Layer) in die Konsole aus:

Das nächste Beispiel setzt eine Recherche mit der Zeichenfolge „Weld0815*“ an die VPM-Datenank ab und lädt alle gefundenen Daten in die Turntable View im Silver Layer. Dies ist hilfreich, wenn man eben schnell eine bestimmte Menge an CAD-Daten miteinander vergleichen möchte:

Einfacher SMTP-Server in einer Zeile Python

Pythons SMTP-Server in KommandozeileEs gibt unzählige Beispiele, wozu ein SMTP-Server bei der Webentwicklung nützlich ist. Sei es, dass man den Versand von Formulardaten testen will, oder Registrierungsinformationen aus dem Content Management System versand werden sollen. In solchen und ähnlichen Fällen benötigt die Applikation für den Versand der Emails einen SMTP-Server.

Da der im Serverbetriebssystem vorinstallierte SMTP-Server und Fremdprodukte oftmals nicht auf die Schnelle konfiguriert werden können, kann man sich sehr einfach mit einer Zeile Python helfen:

python -m smtpd -n -c DebuggingServer localhost:25

Dies bewirkt, dass die versendete Mail bei Ankunft einfachin der Konsole ausgegeben wird. Nicht wundern vorher wird gar nichts angezeigt.

Inhalte aus Webseiten speichern per Web Scraping

Dieser Frage sind zwei Tutorials auf http://sig.levillage.org/ gewidmet. Diese demonstrieren, wie die Thematik Web Scraping mit Python umgesetzt werden kann. Das detailliert beschriebene Beispiel recherchiert auf dvspot.com nach bestimmten DV Kameras und „pumpt“ die technischen Daten in eine von Excel lesbare CSV Datei.