Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Probleme bei Batch PDF Konvertierung durch verschiedene Nutzer an einem 2008er Server

Mitglied: Malli88

Malli88 (Level 1) - Jetzt verbinden

20.03.2014 um 09:35 Uhr, 2150 Aufrufe, 8 Kommentare

Hallo zusammen,

ich habe folgendes Problem.

Ich habe ein Batch Script welches ein Perl Dokument startet um eine Batch Konvertierung von verschiedenen RTF Dateien in PDF durchzuführen.
Wenn Wir dieses Script mit dem Benutzer Administrator ausführen hat die PDF danach die Schriftart ARIAL.
Gehen wir jetzt aber hin und führen das Script mit einem anderen Benutzer aus der auch Administrationsrechte hat oder führen es sogar mit diesem Benutzer als Administrator aus kommen jedes mal andere Ergebnisse raus.
Im Log File zu der Konvertierung wird behauptet das der PDF Konverter die Schriftart Txxxxxx nicht kenn und deshalb durch Curiur ersetzt. Wenn ich aber dann die dadurch erzeugten Dokumente in Word kopiere und nachsehe welche Schriftart verwendet wurde steht da Txxxxxxx. xxxxxx ist bei beiden mit dem anderen Benutzer konvertierten Dokumenten anders.

Bitte um Hilfe. Ich habe keine Ahnung mehr woran es liegen kann.

Liebe Grüße
Stephan
Mitglied: Pago159
20.03.2014 um 09:48 Uhr
Hallo Stephan,

was für die Hilfe bei deinem Problem sehr hilfreich wäre, wären folgende Angaben:

1) Wie lautet der Script Code (Batch und Perl)
2) Mit welchem Programm und Versionsstand konvertierst du?
3) Haben die RTF-Dokumente immer die Schriftart ARIAL? Oder liegen immer unterschiedliche Schriftarten vor?
4) Sind die Einstellungen der Programme beim Administrator und den Anwendern identisch?

Lg Pago
Bitte warten ..
Mitglied: Malli88
20.03.2014, aktualisiert um 11:49 Uhr
OK, dann fangen wir mal an.

CODE PDFCONVERT.BAT
___________________________________________________________________________________________________________
set gsbin = C:\gs\gs9.07\bin\gswin64c.exe
set gs_fontpath = C:\gs\fonts
PDFconvert.pl
___________________________________________________________________________________________________________

CODE PDFCONVERT.pl
___________________________________________________________________________________________________________
#!/usr/bin/perl


  1. Module laden
use strict;
use FileHandle;
use File::Copy;
use Getopt::Std;
use MIME::Lite;

  1. DPCom Module
use BraFo::_module;

  1. Subroutinen definieren
sub GetSubDirs($);

  1. globale Variablen definieren
our $g_debug = 1;
our $g_log_file = 'log\PDFconvert.log';

  1. Variablen definieren
my $RTF = 'RTF';
my $PDF = 'PDF';
my $RTF_converted = 'RTF_converted';
my $PDF_sent = 'PDF_sent';

my $print_dir = 'C:\Abit\Druck';
my $officelog = 'C:\Office2PDF2\log';
my $archive_dir = 'D:\Archive\Abit';

my $office2pdf_dir = 'C:\Office2PDF2';


autoflush STDOUT 1;

unlink $g_log_file if $TEST;

InitLogger();

Info("Starte Script '$0'");

  1. Hauptprogramm

  1. Alle Unterverzeichnisse im Druckverzeichnis verarbeiten
my @main_dir_names = GetSubDirs($print_dir);

foreach my $main_dir_name (@main_dir_names)
{
my $main_dir = $print_dir."\\".$main_dir_name;
Info("Verarbeite Verzeichnis: '$main_dir'");

          1. Alle Verzeichnisse im RTF Verzeichnis verarbeiten
          my @convert_dir_names = GetSubDirs($main_dir.'\RTF');

          Info("Konvertiere RTF nach PDF in folgenden Verzeichnissen:");
          foreach my $convert_dir_name (@convert_dir_names)
          {
          my $rtf_dir = $main_dir."\\".$RTF."\\".$convert_dir_name;
          my $pdf_dir = $main_dir."\\".$PDF."\\".$convert_dir_name;

          Info("==>> '$rtf_dir' => '$pdf_dir'");
          system("title PDFconvert: '$rtf_dir' nach '$pdf_dir'");

          Debug("Enthaltene RTF Dokumente in PDF umwandeln...");
          my $sys = $office2pdf_dir.'\office2pdf.exe -i '.$rtf_dir.' -o '.$pdf_dir.' -c '.$office2pdf_dir.'\config.ini';
          Debug("Systemaufruf: '$sys'\n". ( '-' x 120 ) );
          my $office2pdf_log = `$sys`;
          Debug("Office2PDF Log:\n$office2pdf_log\n");
          Debug( '^' x 94 );

                          1. Nachdem die PDF Dateien erzeugt wurden, sollen die RTF Dokumente archiviert werden.
                          2. Dies wird NUR für jede erzeugte PDF Datei gemacht.

                          1. PDF Verzeichnis lesen
                          opendir(DIR, $pdf_dir) or Fatal("Kann das PDF Verzeichnis '$pdf_dir' nicht oeffnen!\nSystem Fehlermeldung:$!\n");
                          my @pdf_file_names = grep {-f "$pdf_dir/$_" && $_ =~ /\.pdf$/i} readdir(DIR);
                          closedir(DIR);

                                          1. Die RTF Dateien zu den jeweils erzeugten PDF Dateien archivieren
                                          foreach my $pdf_file_name (@pdf_file_names)
                                          {
                                          my $rtf_file_name = $pdf_file_name;
                                          $rtf_file_name =~ s/\.pdf$/\.rtf/;
                                          my $rtf_file = $rtf_dir."\\".$rtf_file_name;
                                          my $pdf_file = $pdf_dir."\\".$pdf_file_name;
                                          my $archive_file = $archive_dir."\\".$main_dir_name."\\".$RTF_converted."\\".$convert_dir_name."\\".$rtf_file_name;

                                          if (-e $rtf_file)
                                          {
                                          Debug("Archiviere RTF Datei: '$rtf_file' nach '$archive_file'");
                                          move($rtf_file, $archive_file) or Error("Kann die Datei '$rtf_file' nicht in das Archiv '$archive_file' verschieben!\nSystem Fehlermeldung:$!\n");
                                          }
                                          elsif (-e $archive_file)
                                          {
                                          Debug("Die Datei '$archive_file' wurde bereits archiviert.");
                                          }
                                          else
                                          {
                                          Error("Zu der PDF Datei '$pdf_file' gibt es kein RTF Dokument, auch nicht im Archiv!");
                                          }
                                          }
                                          }
                                          }


                                          Info("Script ohne Fehler beendet.\n");
                                          exit 0;


                                          sub GetSubDirs($)
                                          {
                                          my $dir = shift;

                                          opendir(DIR, $dir) or Fatal("Kann das Verzeichnis '$dir' nicht oeffnen!\nSystem Fehlermeldung:$!\n");
                                          my @Sub_dirs = grep {-d "$dir/$_" && $_ !~ /^\./} readdir(DIR);
                                          closedir(DIR);

                                          return @Sub_dirs;
                                          }



                                          __END__
                                          ___________________________________________________________________________________________________________




                                          Die RTF Daten haben alle die Schriftart Book Antiqua.


                                          Einstellungen sind identisch.


                                          DANKE!
Bitte warten ..
Mitglied: Malli88
20.03.2014 um 11:52 Uhr
PDF Writer - bioPDF 9.10.0.1629

Das ist der PRinter
Bitte warten ..
Mitglied: Pago159
20.03.2014 um 13:20 Uhr
Hallo Stephan,

das Script schaut jetzt soweit ich das eben mal schnell überflogen habe gut aus.
Was für mich allerdings nicht ganz schlüssig ist, sind folgende Variablen deklarationen in dem Batch teil, da du im anschluss das Script aufrufst ohne etwas mit zu geben:

set gsbin = C:\gs\gs9.07\bin\gswin64c.exe
set gs_fontpath = C:\gs\fonts

oder macht die Batch Datei noch etwas anderes?

Hast du mal die Berechtigungen von dir und dem Anwender verglichen?
Wie verhält sich das Script, wenn ein neu angelegter Benutzer dieses ausführt?

Kannst du die Schriftart der RTF-Dokumente beeinflussen? Dann würde ich dir anraten alles direkt in Arial zu speichern. So wie es sich für mich liest, kennt der PDF-Writer die Schriftart "Book Antiqua" nicht kennen. Dies ist soweit ich das weis auch keine Standard Schriftart. Somit muss diese Schriftart überall, wo sie genutzt wird bekannt sein.

Lg Pago
Bitte warten ..
Mitglied: Malli88
20.03.2014 um 13:29 Uhr
Nein Es ist nichts im Batch ausser die drei Zeilen.
Ebenso kann ich die Schriftart nicht beeinflussen da die Dokumente von einem Mandanten kommen.
Das mit dem neuen Benutzer versuche ich mal.
Bitte warten ..
Mitglied: Pago159
21.03.2014 um 14:32 Uhr
Was sollen denn diese zwei Zeilen bezwecken?

set gsbin = C:\gs\gs9.07\bin\gswin64c.exe
set gs_fontpath = C:\gs\fonts

Hast du die Batch und das Script selbst geschrieben? Oder hast du es geschrieben bekommen?

Du weist hier der Variable "gsbin" den Wert "C:\gs\gs9.07\bin\gswin64c.exe" zu und der Variable "gs_fontpath" weist du den Wert "C:\gs\fonts" zu.
Diese beiden Variablen werden aber in keinster weise benötigt oder benutz, denn nach der Variablen zuweisung startest du das Pearl script, welches nicht auf Batch Variablen zurückgreift.

In deinem Pearl Script nutzt du noch eine ini Datei mit konfigurationsdaten.
Könntest du diese bitte auch mal Posten? In dieser Datei werden ja noch weitere konfigurationen für office2pdf zur verfügung gestellt (Konvertierungsoptionen denke ich mal).

Konntest du mit dem neuen User etwas erreichen?

Lg Pago
Bitte warten ..
Mitglied: Malli88
21.03.2014 um 14:40 Uhr
  1. Configuration of Office2PDF:
[configsection]

  1. Path to Ghostscript:
gsbin = C:\gs\gs9.07\bin\gswin64c.exe

  1. Ghostscript Fontpath environment variable
gs_fontpath = C:\gs\fonts

  1. Postscript Printer to be used
printer = bioPDF

  1. File types to be converted
word = ['.doc', '.dot' '.rtf', '.txt']
excel = ['.xls', '.xlt', '.csv']
powerpoint = ['.ppt', '.pps']
publisher = ['.pub']

  1. Using PDF/A (not working now)
use_pdfa = True

  1. Ghostscript Interpreter Options (see possible devices below)
gsoptions =-sDEVICE="pdfwrite" -dNOPAUSE -dBATCH -dSAFER -dQUIET

  1. License Code of Office2PDF
license = 67659445676
Bitte warten ..
Mitglied: Pago159
24.03.2014, aktualisiert um 16:48 Uhr
Also ich kann da jetzt so auf anhieb nichts finden, weshalb es bei einem Anwender nicht funktionieren sollte.
Deine Anwender haben aber anfürsich zugriff auf C:\GS\ ?
Und der Druckr bioPDF ist vorhanden?
Kannst du evtl. noch die LOG-Datei anhängen?
Bitte warten ..
Ähnliche Inhalte
VB for Applications
Text in PDF lesen und nutzen
gelöst Frage von fautec56VB for Applications6 Kommentare

Hallo zusammen, meine erste Frage in diesem Forum betrifft das umbenennen von PDF-Dateien, die mit einem OCR-Scan erstelle wurden. ...

Windows Server

Konvertierung ganzer Ordnerstruktur in PDF (Word-Dateien)

gelöst Frage von c.mamojkaWindows Server6 Kommentare

Hallo Zusammen, ich benötige eine Anwendung die in der Lage ist Dateien (Word) einer gesamten Ordnerstruktur in PDFs zu ...

Batch & Shell

Powershell PDF drucken auf verschiedene Drucker

gelöst Frage von ChrissssiBatch & Shell2 Kommentare

Hallo zusammen, Mein Problem ist das ich PDF Dateien habe die ich auf unterschiedliche Drucker automatisch drucken muss. Das ...

Batch & Shell

Batch zum Kopieren von PDF

gelöst Frage von karla123Batch & Shell19 Kommentare

Liebes Forum, ich benötige (als Anfänger) eure Hilfe und hoffe mir kann geholfen werden. Ich habe ein Hauptverzeichnis, ein ...

Neue Wissensbeiträge
Sicherheit

MikroTik-Router patchen, Schwachstelle wird ausgenutzt

Information von kgborn vor 2 StundenSicherheit

Am 23. April 2018 wurde von Mikrotik ein Security Advisory herausgegeben, welches auf eine Schwachstelle im RouterOS hinwies. Mikrotik ...

Windows 10

Microcode-Updates KB4090007, KB4091663, KB4091664, KB4091666 für Windows 10

Information von kgborn vor 8 StundenWindows 101 Kommentar

Kurze Information für Administratoren von Windows 10-Systemen, die mit neueren Intel CPUs laufen. Microsoft hat zum 23. April 2018 ...

iOS
Updates für Iphone und Co
Information von sabines vor 12 StundeniOS

Gestern abend ist iOS 11.3.1 erschienen, ein kleineres Update, dass einige Lücken schließt und "Lahmlegen" nach einem Display Tausch ...

Windows 7

Windows 7 - Server 2008 R2: Exploit für Total Meltdown verfügbar

Information von kgborn vor 1 TagWindows 7

Kleine Information für Administratoren, die für die Updates von Windows 7 SP1 und Windows Server 2008 R2 SP1 verantwortlich ...

Heiß diskutierte Inhalte
Batch & Shell
Powershell: Im AD nach Rechnern mit bestimmten IP-Adressen suchen
gelöst Frage von Raven42Batch & Shell36 Kommentare

Hallo zusammen, ich suche nach einer Möglichkeit nach Computern im AD zu suchen , deren IP-Adresse mit 10.11.12. beginnt. ...

C und C++
Frage1 C Programmierung-Makefile Frage2 PHP-Programmierung HTTP-Fehler 404
Frage von KatalinaC und C++34 Kommentare

Hallo, ich habe 2 Fragen, die nichts miteinander zu tun haben aber mit denen ich mich gerade beschäftige: 1. ...

LAN, WAN, Wireless
Watchguard T15 VPN Einrichtung
gelöst Frage von thomasjayLAN, WAN, Wireless25 Kommentare

Hallo zusammen, wir möchten gerne über unsere Watchguard T15 einen VPN-Tunnel (Mobile VPN with IPSec) einrichten! Als Client nutzen ...

Windows Server
Alten DC entfernen
Frage von smartinoWindows Server24 Kommentare

Hallo zusammen, ich habe hier eine Umgebung übernommen und erstmal einen DCDIAG gemacht. Dabei fällt auf, daß eine ganze ...