Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Frage Multimedia Schriftarten

Mitglied: Malli88

Malli88 (Level 1) - Jetzt verbinden

20.03.2014 um 09:35 Uhr, 2049 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 ..
Neuester Wissensbeitrag
Ähnliche Inhalte
LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Batch & Shell
gelöst Per Batch Winrar entpacken - Probleme bei Pfad (7)

Frage von Concurve zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (22)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...