Anleitungen
« Vorherige Beiträge Nächste Beiträge »C#: PDF Datei ohne Adobe Acrobat Fenster drucken (Batchbetrieb)
Freitag, 12.11.2010Sie können direkt aus C# heraus eine PDF drucken, ohne die Anzeige (das Adobe Fenster) vom Acrobat Reader anzuzeigen. Vorallem beim Drucken von PDF ohne Benutzereingabe oder beim Einsatz als Service wird diese Möglichkeit benötigt.
Nutzen Sie meinen folgenden SourceCode als Beispiel:
string pdf = @"C:\Dokumente und Einstellungen\Benutzername\Eigene Dateien\test.pdf"; string acrobat = @"C:\Programme\Adobe\Acrobat 7.0\Reader\AcroRd32.exe"; Process process = new Process(); process.StartInfo.FileName = acrobat; process.StartInfo.Verb = "printto"; process.StartInfo.Arguments = "/p /s /h \"" + pdf + "\""; process.StartInfo.CreateNoWindow = true; process.StartInfo.RedirectStandardOutput = true; process.StartInfo.UseShellExecute = false; process.Start(); process.CloseMainWindow();
Sollte die erste Version auf Ihrem System nicht funktionieren, nutzen Sie die zweite Methode. Bei dieser wird im 50 ms Takt geprüft, ob der Handle des neuen Adobe Acrobat Fensters verfügbar ist. Danach wird das Adobe Fenser mit einem .Kill() Befehl beendet:
Process process = new Process(); process.StartInfo.FileName = acrobat; process.StartInfo.Verb = "printto"; process.StartInfo.Arguments = "/p /s /h \"" + pdf + "\""; process.StartInfo.CreateNoWindow = true; process.StartInfo.RedirectStandardOutput = true; process.StartInfo.UseShellExecute = false; process.Start(); DateTime start = DateTime.Now; IntPtr handle = IntPtr.Zero; while (handle == IntPtr.Zero && DateTime.Now - start <= TimeSpan.FromSeconds(2)) { try { System.Threading.Thread.Sleep(50); handle = process.MainWindowHandle; } catch (Exception) { } } process.Kill();
Auf dem Computer muss jedoch eine Version (hier ist es V7.0) des Adobe Acrobat Readers installiert sein.
Passen Sie die Pfade auf Ihre Version und Ihre PDF Dateien an.
Weitere Informationen zu den wichtigsten Befehlen der Scripte erhalten Sie hier:
process.CloseMainWindow()
process.Kill()
C#: PDF Datei in TIFF (Fax tiffg3) konvertieren
Freitag, 12.11.2010Um in C# eine PDF Datei direkt in eine faxfähige TIFFg3 Datei umzuwandeln, können Sie folgenden SourceCode nutzen:
// PDF in TIFg3 umwandeln string gsPath = @"C:\Programme\gs\gs9.00\bin\gswin32c.exe"; string param = "-dNOPAUSE -q -dSAFER -dBATCH -sDEVICE=tiffg3 -sPAPERSIZE=a4 -r204x196"; ProcessStartInfo psi = new ProcessStartInfo(gsPath, param + " -sOutputFile=test.tif test.pdf"); psi.RedirectStandardOutput = true; psi.UseShellExecute = false; Process p = new Process(); p.StartInfo = psi; p.Start(); p.WaitForExit();
Sie benötigen die kostenlose Software GhostScript V9.0 auf dem Computer / Server.
UserMin: Warning – The system is configured to not process user-defined mail filters
Dienstag, 05.10.2010Wenn E-Mail Benutzer in dem UserMin-Bereich die folgende Fehlermeldung erhalten, können Sie mithilfe dieses Artikels die Option aktivieren.
Warning – The system is configured to not process user-defined mail filters. Filters defined here will not be used.
Lösung:
- Melden Sie sich in VirtualMin an
- Im unteren Bereich finden Sie den Bereich “Email Messages”
Öffnen Sie diesen Bereich - Klicken Sie auf den Untereintrag “Spam and Virus Scanning”
- Setzen Sie die Option “Allow mailbox users to create mail filters?” auf “Yes”
- Klicken Sie auf “Save”
Im UserMin Bereich können Sie nun die E-Mail-Filter nutzen.
Linux: Backup zwischen Servern mit rsync (via SSH)
Dienstag, 05.10.2010Installieren Sie auch beiden Server (Datenquelle und Ziel) das Programm “rsync”. Auch auf dem Zielcomputer muss diese Software installiert sein, da dieser natürlich das Protokoll verstehen muss:
apt-get install rsync
Vorbereitung des zu sichernden Servers (Datenquelle)
Erzeugen Sie auf der Datenquelle (dem zu sichernden Computer) einen DSA Schlüssel. Führen Sie dafür den folgenden Befehl als Benutzer “root” aus:
ssh-keygen -t dsa
Bestätigen Sie bei den Rückfragen den Dateinamen für den Schlüssel und das Verschlüsselungspasswort jeweils mit Enter.
Anschließend finden Sie auf dem Computer die beiden folgenden Dateien:
- /root/.ssh/id_dsa
Privater DSA Schlüssel. Dieser darf nicht weitergegeben oder veröffentlicht werden - /root/.ssh/id_dsa.pub
Öffentlicher DSA Schlüssel. Dieser wird später auf den Backup-Server kopiert
Vorbereitung des Sicherungsservers (Datenziel)
Erstellen Sie einen neuen Benutzer “remotebackup”
useradd -m remotebackup
… und vergeben Sie ein geheimes Passwort für diesen Benutzer:
passwd remotebackup
Sie dürfen aus Sicherheitsgründen dem Benutzer “remotebackup” keine Root-Rechte geben. Jedoch wird für das Ausführen des rsync Programmes dieses Recht benötigt – u.a. um alle Verzeichnisse lesen zu können. Zum Lösen dieser Situation nutzen wir das Programm “visudo”:
visudo
Fügen Sie die folgende Zeile in der angezeigten Datei hinzu …
remotebackup ALL=(root)NOPASSWD:/usr/bin/rsync
… und beenden Sie die Eingabe durch Drücken der “ESC” Taste. Geben Sie dann “wq” ein und drücken Sie die “Enter” Taste. Die Änderung wird gespeichert.
Im nächsten Schritt erlauben wir dem zu sichernden Server die automatisch Anmeldung am Zielserver. Dafür nutzen wir die automatische, schlüsselbasierte Authentifizierung per SSH. Dabei muss der zu sichernde Server automatisch die Gültigkeit des übergebenen DSA Schlüssels überprüfen können.
Erstellen Sie auf dem Ziel-Server das Verzeichnis “/home/remotebackup/.ssh” – sofern es noch nicht existieren sollte:
1 2 3 | su remotebackup mkdir ~/.ssh chmod 700 ~/.ssh |
Fügen Sie den öffentlichen DSA-Schlüssel (s.o.) an das Ende der Datei “/home/remotebackup/.ssh/authorized_keys” ein:
1 2 | cd ~/.ssh ssh -l root [IP Quell-Server] cat /root/.ssh/id_dsa.pub >> authorized_keys |
chmod 600 authorized_keys
Sollte dieser Weg nicht funktionieren, können Sie natürlich auch die Datei per "scp" kopieren und den Inhalt dann manuell anfügen.
Im letzten Schritt für eine automatische SSH Authentifizierung müssen Sie die entsprechende Option in der Datei "/etc/sshd/sshd_config" aktivieren:
PubkeyAuthentication yes
Testen Sie die automatische Authentifizierung:
1 | ssh -l remotebackup [IP Quell-Server] |
Datensicherung (Skripte)
Die beiden Server sind vorbereitet. Auf dem Quell-Server legen Sie nun bitte die Datei "/root/rsync-excludes.conf" an. Diese enthält alle Verzeichnisse, welche nicht gesichert werden sollen. Dabei werden auch deren Unterverzeichnisse nicht gesichert.
1 2 3 4 5 6 | /cdrom /dev /lost+found /proc /sys /tmp |
Erstellen Sie das Backupscript "/usr/local/bin/backup.sh":
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | #!/bin/sh echo "Starte Server-Backup .." BACKUPDIR=/ TARGETUSER=remotebackup TARGETDIR=/home/remotebackup/backup_`date +'%Y-%m-%d'` EXCLUDES=/root/rsync-excludes.conf BACKUPSERVER=[IP Ziel-Server] rsync -avz --numeric-ids -e ssh --delete --delete-excluded --stats --exclude-from="$EXCLUDES" $BACKUPDIR $TARGETUSER@$BACKUPSERVER:$TARGETDIR echo "Backup beendet." |
Vergessen Sie bitte nicht, im vorherigen Script die IP (oder den Hostnamen) des Ziel-Servers einzusetzen. Danach machen Sie das Skript bitte ausführbar:
chmod a+x /usr/local/bin/backup.sh
Script testen
Testen Sie die Datensicherung des Servers durch das manuelle Starten des Scriptes:
backup.sh
Automatische Datensicherung (Batch / CronJob)
Um die Datensicherung (Serverkopie) automatisch jeden Morgen um 4 Uhr zu starten, fügen Sie in der Datei "/etc/crontab" die folgende Zeile ein:
0 4 * * * root /usr/local/bin/backup.sh
Auth_imp: Die benötigte IMAP-Erweiterung wurde nicht gefunden
Mittwoch, 29.09.2010Wenn Sie beim Einloggen in das WebMail Programm “Horde” plötzlich folgende Fehlermeldung erhalten, dann hilft Ihnen dieser Artikel weiter:
Ein schwerer Fehler ist aufgetreten: Auth_imp: Die benötigte IMAP-Erweiterung wurde nicht gefunden. Details wurden für den Administrator mitgeloggt.
Installieren Sie die IMAP Erweiterung für PHP (hier PHP V5) auf Ihrem Server:
apt-get install php5-imap
… und vergessen Sie den Neustart des Apache Webservers nicht:
/etc/init.d/apache2 restart
Anschließend können Sie die Anmeldung bei “Horde” erneut durchführen und werden Erfolg haben.
Einen Hinweis für die Fehlersuche bei Horde:
Über die folgende URL können Sie auf Ihrem Server die Konfiguration von Horde testen. Dadurch können Sie leicht fehlende Abhängigkeiten entdecken und beheben:
http://url-zu-ihrer-horde-installation/imp/test.php
Fatal error: Call to undefined function curl_init() in /home/…/ip-logger/…/class.ipdetails.php
Mittwoch, 29.09.2010Die folgende Meldung zeigt an, dass das Modul “php5-curl” nicht installiert wurde:
Fatal error: Call to undefined function curl_init() in /home/.../wp-content/plugins/.../class.ipdetails.php on line 29
Mithilfe des Befehles “apt-get install php5-curl” können Sie z.Bsp. unter Debian dieses Modul einfach nachinstallieren und nutzen.
WordPress: Deine PHP-Installation scheint nicht über die von WordPress benötigte MySQL-Erweiterung zu verfügen
Dienstag, 28.09.2010Beim Aufruf Ihrer Webseite erhalten Sie folgende Meldung ?
Deine PHP-Installation scheint nicht über die von WordPress benötigte MySQL-Erweiterung zu verfügen.
Prüfen Sie bitte, ob auf Ihrem Server die folgenden Programme (Module) richtig installiert sind:
- PHP
- mySQL
- php5-mysql
Sollte z.Bsp. “php5-mysql” fehlen, dann können Sie unter Debian mithilfe des Befehles “apt-get install php5-mysql” dieses Modul nachinstallieren. Anschließend sollte Ihre Webseite (wieder) richtig funktionieren.
BIOS Update beim Toshiba Notebook “Satellite S1800-204″
Donnerstag, 02.09.2010Um Ihr Toshiba Notebook “Satellite S1800-204″ mit einem BIOS Update zu versehen, benötigen Sie das BIOS Update Tool von der Toshiba Homepage. Sie können lange versuchen, dieses Modell in den Listen zu finden – es wird dort unter dem Code “1800-S204″ geführt:
Downloads für das Toshiba Notebook S1800-204
Dort laden Sie das Programm “ACPI Flash BIOS version 2.10 for Satellite 1800/1805-Sxx4(v2.10; 09-24-2002; 2.16M)” herunter.
Im ersten Schritt erstellen Sie die benötigte BIOS Update Diskette. Achtung: Es muss zwingend eine 1.44 MB Diskette sein – bei anderen Disketten (z.Bsp. 720 KB) schlägt die Erstellung der Bootdiskette ohne weitere Informationen fehl.
Toshiba DMI Update Utility version 1.0 for Satellite 1800-S204. This utility will update the Model and Manufacturer strings in DMI on supported Toshiba notebook platforms. Menu --- 1) Satellite 1800 or 1800-Sxx3 2) Satellite 1805 or 1805-Sxx3 V) View instructions Please select your model from the menu above (1-2, or V)
Wählen Sie jetzt Ihr Modell aus: 1
Are you sure you want to set the DMI with SATELLITE 1800? y/n:
Drücken Sie die Taste “Y” (sollte die Tastatur auf englische Belegung eingestellt sein, drrücken Sie “Z“).
Model SATELLITE 1800 is updated sucessfully. Please remove the diskette or CD-ROM, and restart your computer.
Lassen Sie die gerade erstellte Diskette im Laufwerk und starten Sie Ihr Notebook neu.
Beim Starten (sofort während des Anschaltens) drücken Sie bitte die F12 Taste bis Sie einen kurzen Signalton hören. Folgen Sie ggf. den Anweisungen, jedoch wird normalerweise sofort mit dem BIOS Update begonnen.
WordPress: Revisionen eines Artikels löschen (Historie löschen)
Freitag, 06.08.2010Das CMS “WordPress” stellt Ihnen Ihre alten Versionen der Artikel zur Verfügung. Unter jedem Artikel können Sie im Abschnitt “Revisions” jede (gespeicherte) Änderung des Artikels nachvollziehen und auf Wunsch mit einer anderen Version des Artikels vergleichen lassen.
Diese manchmal recht praktische Funktion kann jedoch auch unerwünscht sein und ggf. Datenbank-Ressourcen belegen. Zugegeben, es sind keine sehr großen Datenmengen – jedoch kann mit der Zeit und entsprechend vielen Artikeln auch hier eine stattliche Anzahl an Datenbankeinträgen zusammen kommen.
Um hier aufzuräumen und diese alten Datensätze endgültig zu löschen, nutzen Sie folgendes SQL Script:
DELETE FROM wp_posts WHERE post_type = 'revision'
Führen Sie den vorherigen SQL Befehl auf Ihrer entsprechenden WordPress Datenbank aus. Dafür können Sie z.Bsp. die kostenlose und Open Source Datenbankverwaltung “phpMyAdmin” nutzen. Achten Sie dabei darauf, dass Sie ggf. den Prefix der Tabelle (hier: “wp_”) anpassen müssen. Das ist jedoch nur dann erforderlich, wenn Sie bei der Installation einen eigenen Prefix gewählt haben. Sollten Sie sich nicht sicher sein, können Sie den SQL Befehl trotzdem ausführen – ist die Tabelle nicht vorhanden, erhalten Sie eine entsprechende Fehlermeldung und keine Daten wurden gelöscht.
Wenn Sie sich zuvor die zu löschenden Daten ansehen möchten, dann hilft Ihnen dieser SQL Befehl weiter:
SELECT * FROM wp_posts WHERE post_type = 'revision'
Outlook 2007: Farbschema wechseln
Mittwoch, 04.08.2010Wenn Sie das Farbschema bei Outlook 2007 von Blau auf Schwarz oder umgedreht wechseln wollen, müssen Sie dazu folgende Schritte durchführen:
- Eine beliebige E-Mail öffnen
- Links oben auf das runde Office-Logo klicken
- Die Schaltfläche “Editor-Optionen” klicken
- Im Reiter “Häufig verwendet” das Farbschema auf “Schwarz” bzw. “Blau” setzen
- Mit “OK” bestätigen
Die eigentliche Schwierigkeit bei der Umstellung des Farbschemas liegt beim finden der entsprechenden Option, da Microsoft diese sehr gut versteckt hat.
« Vorheriger Beitrag Nächster Beitrag »