Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  EPLAN Electric P8
  Script für PDF mit unsichtbaren Texten

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für EPLAN
Autor Thema:  Script für PDF mit unsichtbaren Texten (582 mal gelesen)
IIAroonII
Mitglied



Sehen Sie sich das Profil von  IIAroonII an!   Senden Sie eine Private Message an IIAroonII  Schreiben Sie einen Gästebucheintrag für IIAroonII

Beiträge: 20
Registriert: 30.01.2023

EPLAN Electric P8. Professional (64-Bit)
Version: 2023 Update 3
Build: 19564

erstellt am: 30. Jan. 2023 09:33    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo zusammen,
ich möchte gerne ein Script verwenden, um den aktuellen Stand als PDF und Sicherung zu erstellen. Eine PDF soll in deutsch, eine in englisch und eine in deutsch, aber mit unsichtbaren Texten erstellt  werden. Und bei der letzten liegt mein Problem: Die Einstellung für unsichtbare Texte wird nicht angewendet.
Im groben sieht das Script wie folgt aus. Ich konnte in einer zweiten Instanz von ePlan aber auch sehen, dass die Einstellung angewandt wurde, nur hat sie keine Auswirkungen auf die PDF. hat jemand eine Idee dazu?

setSetting(true);
pdfExport("de_DE");
pdfRename();
setSetting(false);

        public void setSetting(bool invisible)
        {
            // Setzen der Benutzereinstellung zum drucken unsichtbarer Texte
            Settings settingPrintInv = new Settings();

            if (invisible == true)
            {               
                settingPrintInv.SetBoolSetting("USER.GedViewer.Print.PrintInvisibleObjects", true, 0);
                //MessageBox.Show("Unsichtbare Texte aktiv"); //Debug
            }
            else
            {
                settingPrintInv.SetBoolSetting("USER.GedViewer.Print.PrintInvisibleObjects", false, 0);
                //MessageBox.Show("Unsichtbare Texte NICHT aktiv"); //Debug
            }
        }


        public void pdfExport(string language)
        {
            //Definition CLI für Export
            CommandLineInterpreter cli_export = new CommandLineInterpreter();
            ActionCallingContext acc_export = new ActionCallingContext();

            //Sprache festlegen
            acc_export.AddParameter("LANGUAGE", language);

            //Allgemeine Parameter für den PDF-Export
            acc_export.AddParameter("TYPE", "PDFPROJECTSCHEME");
            acc_export.AddParameter("EXPORTFILE", projectPath + "\\");
            acc_export.AddParameter("EXPORTSHEME", "");

            //PDF erstellen         
            cli_export.Execute("export", acc_export);
        }

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

F.S.
Moderator



Sehen Sie sich das Profil von F.S. an!   Senden Sie eine Private Message an F.S.  Schreiben Sie einen Gästebucheintrag für F.S.

Beiträge: 1815
Registriert: 23.04.2003

EPLAN Electric P8
2023 Prof.

erstellt am: 30. Jan. 2023 13:28    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für IIAroonII 10 Unities + Antwort hilfreich

Hallo,

füg mal nach der Zeile die die Einstellung setzt noch folgendes ein:

Code:

new EventManager().Send("PageManagement.ProjectSettings.Changed", new EventParameterString()); // ! damit die Änderung wirksam wird

------------------
grüße
FrankS

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

IIAroonII
Mitglied



Sehen Sie sich das Profil von  IIAroonII an!   Senden Sie eine Private Message an IIAroonII  Schreiben Sie einen Gästebucheintrag für IIAroonII

Beiträge: 20
Registriert: 30.01.2023

EPLAN Electric P8. Professional (64-Bit)
Version: 2023 Update 3
Build: 19564

erstellt am: 31. Jan. 2023 08:44    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Guten Morgen!
Danke für die schnelle Rückmeldung!
Also gestern Abend hat es mehrfach erfolgreich funktioniert. Heute morgen, nachdem der Rechner über nach runtergefahren war, dann wieder Probleme... Mal sind alle Dateien mit unsichtbaren Texten, mal keine... Ich hab auch die "Settings" mal in separate Instanzen verschoben, aber auch das hat nicht funktioniert... Was mich aber wundert ist, dass das abfragen der Einstellungen eine sehr willkürliche Rückmeldung bietet. Im Zweig "aktiv" wurde "nicht aktiv" rückgemeldet, und andersherum. Dabei waren dann aber die PDFs korrekt.

                //PDF deutsch mit unsichtbaren Texten
                progress.BeginPart(30.0, "PDF in deutsch mit unsichtbaren Texten erstellen...");
                setSetting(true);
                pdfExport("de_DE");
                pdfRename();
                setSetting(false);
                progress.EndPart();

                //PDF englisch
                progress.BeginPart(30.0, "PDF in englisch erstellen...");
                pdfExport("en_US");
                progress.EndPart();

                //PDF deutsch
                progress.BeginPart(30.0, "PDF in deutsch erstellen...");
                pdfExport("de_DE");
                progress.EndPart();


        public void setSetting(bool invisible)
        {
            // Setzen der Benutzereinstellung zum drucken unsichtbarer Texte
            Settings settingSetPrintInv = new Settings();
            Settings settingResetPrintInv = new Settings();
            Settings settingReadPrintInv = new Settings();
            // Lesen der Aktuellen Einstellung
            bool settingInvisibleActive = settingReadPrintInv.GetBoolSetting("USER.GedViewer.Print.PrintInvisibleObjects", 0);

            if (invisible == true)
            {
                //Setzen der Einstellung
                settingSetPrintInv.SetBoolSetting("USER.GedViewer.Print.PrintInvisibleObjects", true, 0);
                #region debug
                ///*
                MessageBox.Show("Unsichtbare Texte sollten aktiv sein.");
                if (settingInvisibleActive)
                {
                    MessageBox.Show("Unsichtbare sind wirklich aktiv.");
                }
                else
                {
                    MessageBox.Show("FEHLER!!!\nUnsichtbare sind NICHT aktiviert worden...");
                }
                //*/
                #endregion
            }
            else
            {
                //Rücksetzen der Einstellungen
                settingResetPrintInv.SetBoolSetting("USER.GedViewer.Print.PrintInvisibleObjects", false, 0);
                #region debug
                ///*
                MessageBox.Show("Unsichtbare Texte sollten nicht mehr aktiv sein.");
                if (settingInvisibleActive)
                {
                    MessageBox.Show("FEHLER!!!\nUnsichtbare sind trotzdem noch aktiv...");
                }
                else
                {
                    MessageBox.Show("Unsichtbare sind deaktiviert worden.");
                }
                //*/
                #endregion
            }

            //Workaround, triggern, dass Eplan die Änderung der Einstellung erkennt
            new EventManager().Send("PageManagement.ProjectSettings.Changed", new EventParameterString());
        }


        public void pdfExport(string language)
        {
            //Definition CLI für Export
            CommandLineInterpreter cli_export = new CommandLineInterpreter();
            ActionCallingContext acc_export = new ActionCallingContext();

            //Allgemeine Parameter für den PDF-Export
            acc_export.AddParameter("TYPE", "PDFPROJECTSCHEME");
            acc_export.AddParameter("EXPORTFILE", projectPath + "\\");

            //Sprache festlegen
            acc_export.AddParameter("LANGUAGE", language);

            //PDF erstellen         
            cli_export.Execute("export", acc_export);
        }

        public void pdfRename()
        {
            //Datei automatisch umbenennen
            DirectoryInfo folder = new DirectoryInfo(projectPath + "\\");
            FileInfo[] files = folder.GetFiles();
            foreach (FileInfo file in files)
            {
                string oldFile = file.FullName;
                string fileExtension = file.Extension;
                string newFile = file.FullName.Replace(".pdf", "_MUT.pdf");

                //Prüfen, ob Datei schon vorhanden ist und vom Typ .pdf ist
                if (File.Exists(newFile) & fileExtension == ".pdf")
                {
                    MessageBox.Show("Datei schon vorhanden.\n\n"
                        //+ "Dateityp: " + fileExtension //Debug
                        + "Datei vor umbennenen: \n\n"
                        + oldFile
                        + "\n\nvorhandene Datei: \n\n"
                        + newFile
                        + "\n\nDie Datei mit unsichtbaren Texten wird überschrieben.");
                }
                else
                {
                    //Datei umbennen
                    File.Move(file.FullName, file.FullName.Replace(".pdf", "_MUT.pdf"));
                }
            } 
        }

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

F.S.
Moderator



Sehen Sie sich das Profil von F.S. an!   Senden Sie eine Private Message an F.S.  Schreiben Sie einen Gästebucheintrag für F.S.

Beiträge: 1815
Registriert: 23.04.2003

EPLAN Electric P8
2023 Prof.

erstellt am: 31. Jan. 2023 09:59    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für IIAroonII 10 Unities + Antwort hilfreich

Hier scheint mir ein Denkfehler zu sein.

Du liest erst die Einstellung aus

Code:
bool settingInvisibleActive = settingReadPrintInv.GetBoolSetting("USER.GedViewer.Print.PrintInvisibleObjects", 0);

dann setzt du die Einstellung

Code:
settingSetPrintInv.SetBoolSetting("USER.GedViewer.Print.PrintInvisibleObjects", true, 0);

und hier willst du überprüfen ob die Einstellung gesetzt ist

Code:
if (settingInvisibleActive)

aber ohne diese vorher wieder neu auszulesen kann das ja kein korrektes Ergebnis bringen!


------------------
grüße
FrankS

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP



Elektrokonstrukteur Schwerpunkt Service (m/w/d)

Als Unternehmen mit langjähriger Tradition steht Dücker bereits seit Jahrzehnten für innovative Lösungen im Bereich Intralogistik. Insbesondere in der Wellpappenindustrie sind unsere Anlagen auf allen Kontinenten vertreten und ermöglichen einen optimalen Materialfluss in den Produktionshallen.

Als führender Anbieter in intralogistischer Branche bietet Dücker conveyor systems GmbH Markt- ...

Anzeige ansehenElektrotechnik, Elektronik
IIAroonII
Mitglied



Sehen Sie sich das Profil von  IIAroonII an!   Senden Sie eine Private Message an IIAroonII  Schreiben Sie einen Gästebucheintrag für IIAroonII

Beiträge: 20
Registriert: 30.01.2023

EPLAN Electric P8. Professional (64-Bit)
Version: 2023 Update 3
Build: 19564

erstellt am: 02. Feb. 2023 07:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Ja, danke für den Hinweis! Im Nachhinein weiß ich auch nicht mehr, warum ich dachte, dass das so müsste 
Hab's korrigiert und an mehreren Projekten getestet, jetzt scheint es zu funktionieren!
Vielen Dank 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz