Downloads

Kategorien

Suchen


Aktuelle Artikel

Archiv

Anleitungen

« Vorherige Beiträge Nächste Beiträge »

C#: PDF Datei ohne Adobe Acrobat Fenster drucken (Batchbetrieb)

Freitag, 12.11.2010

Sie 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.2010

Um 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.2010

Wenn 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:

Im UserMin Bereich können Sie nun die E-Mail-Filter nutzen.

Linux: Backup zwischen Servern mit rsync (via SSH)

Dienstag, 05.10.2010

Installieren 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:

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.2010

Wenn 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.2010

Die 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.2010

Beim 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:

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.2010

Um 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.2010

Das 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.2010

Wenn Sie das Farbschema bei Outlook 2007 von Blau auf Schwarz oder umgedreht wechseln wollen, müssen Sie dazu folgende Schritte durchführen:

  1. Eine beliebige E-Mail öffnen
  2. Links oben auf das runde Office-Logo klicken
  3. Die Schaltfläche “Editor-Optionen” klicken
  4. Im Reiter “Häufig verwendet” das Farbschema auf “Schwarz” bzw. “Blau” setzen
  5. 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 »