Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
online PDF in Form anzeigen
makuser
myCSharp.de - Member



Dabei seit:
Beiträge: 21

Themenstarter:

online PDF in Form anzeigen

beantworten | zitieren | melden

Hallo Gemeinde,
ich habe folgendes Problem. Ich habe eine kleine Tray App erstellt, die für jeden Tag eine andere (außer fr-so) pdf datei anzeigen soll.
Ich finde den Tag so raus:


        private string akt_tag;
        private string anz_tag;
        public string anz_url;


            #region Um aktuellen Tag + URL rauszufinden
            if (DateTime.Today.DayOfWeek == DayOfWeek.Monday)
            {
                akt_tag = "Montag";
                anz_tag = "dienstag";
            }
            if (DateTime.Today.DayOfWeek == DayOfWeek.Tuesday)
            {
                akt_tag = "Dienstag";
                anz_tag = "mittwoch";
            }
            if (DateTime.Today.DayOfWeek == DayOfWeek.Wednesday)
            {
                akt_tag = "Mittwoch";
                anz_tag = "donnerstag";
            }
            if (DateTime.Today.DayOfWeek == DayOfWeek.Thursday)
            {
                akt_tag = "Donnerstag";
                anz_tag = "freitag";
            }
            if (DateTime.Today.DayOfWeek == DayOfWeek.Friday)
            {
                akt_tag = "Freitag";
                anz_tag = "montag";
            }
            if (DateTime.Today.DayOfWeek == DayOfWeek.Saturday)
            {
                akt_tag = "Samstag";
                anz_tag = "montag";
            }
            if (DateTime.Today.DayOfWeek == DayOfWeek.Sunday)
            {
                akt_tag = "Sonntag";
                anz_tag = "montag";
            }
            anz_url = "http://abc.de/" + anz_tag + ".pdf";
            beschr = ("Heute ist: " + akt_tag + ". " + "Angezeigt wird für: " + anz_tag + ". " + "(unter folgender Adresse: " + anz_url + ")");
            #endregion
also kommt bei anz_url für Samstag folgendes raus: "http://abc.de/montag.pdf"
Wie kann ich das ganze in meiner Form anzeigen lassen.

Ich habe momentan folgendes:


            this.axAcroPDF1 = new AxAcroPDFLib.AxAcroPDF();
            ((System.ComponentModel.ISupportInitialize)(this.axAcroPDF1)).BeginInit();
            // 
            // axAcroPDF1
            // 
            this.axAcroPDF1.Enabled = true;
            this.axAcroPDF1.Location = new System.Drawing.Point(3, 16);
            this.axAcroPDF1.Name = "axAcroPDF1";
            this.axAcroPDF1.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("axAcroPDF1.OcxState")));
            this.axAcroPDF1.Size = new System.Drawing.Size(720, 494);
            this.axAcroPDF1.TabIndex = 0;
            this.axAcroPDF1.LoadFile(anz_url);
            ((System.ComponentModel.ISupportInitialize)(this.axAcroPDF1)).EndInit();
Im debuggermodus kommt jetzt folgender Fehler:
Zitat
System.TypeInitializationException wurde nicht behandelt.
Message: Der Typeninitialisierer für "meinNamespace.NotifyApp" hat eine Ausnahme verursacht.

Schon mal Danke im Vorraus für Lösungsvorschläge.

MAK
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von makuser am .
private Nachricht | Beiträge des Benutzers
winSharp93
myCSharp.de - Experte

Avatar #avatar-2918.png


Dabei seit:
Beiträge: 6155
Herkunft: Stuttgart

beantworten | zitieren | melden

Hallo makuser,
Zitat von makuser
Message: Der Typeninitialisierer für "meinNamespace.NotifyApp" hat eine Ausnahme verursacht.
Das heißt, das eine Exception im statischen Konstruktor (= Typinitialisierer) von NotifyApp aufgetreten ist.
Darauf hättest du im Übrigen auch selber kommen können: [Hinweis] Syntaxfehler selbst lösen (Compilerfehlermeldungen).

Was machst du denn dort?
In den Typinitialisierer braucht man wirklich nur sehr selten etwas zu schreiben.
Längerer Code ist dort sowieso fehl am Platze.
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von winSharp93 am .
private Nachricht | Beiträge des Benutzers
makuser
myCSharp.de - Member



Dabei seit:
Beiträge: 21

Themenstarter:

beantworten | zitieren | melden

Wo soll ich denn dann:


this.axAcroPDF1.LoadFile(anz_url);
hinschreiben???
private Nachricht | Beiträge des Benutzers
gfoidl
myCSharp.de - Team

Avatar #avatar-2894.jpg


Dabei seit:
Beiträge: 7562
Herkunft: Waidring

beantworten | zitieren | melden

Hallo,

ich bin mir nicht sicher ob der Adobe Reader eine Url so laden kann - das könnte ein Problem sein.

Daher würde ich das System.Windows.Forms.WebBrowser-Control verwenden und per Navigate(...) zur Url navigieren.

mfG Gü

PS: Anstatt deiner if-Abfragen könntest du auch ein switch verwenden.
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"
private Nachricht | Beiträge des Benutzers
Gelöschter Benutzer

beantworten | zitieren | melden

Zitat
PS: Anstatt deiner if-Abfragen könntest du auch ein switch verwenden.

weder noch.

nimm lieber das da:

            string todaysDayOfWeek = string.Empty;
            string displayedDayOfWeek = string.Empty;
            DateTime today = DateTime.Today;
            todaysDayOfWeek = DateTime.Today.ToString("dddd", CultureInfo.CurrentCulture);
            displayedDayOfWeek = (int)today.DayOfWeek < 5
                                     ?
                                         today.AddDays(1).ToString("dddd", CultureInfo.CurrentCulture)
                                     :
                                         today.AddDays(7 - (int)today.DayOfWeek).ToString("dddd", CultureInfo.CurrentCulture);
winSharp93
myCSharp.de - Experte

Avatar #avatar-2918.png


Dabei seit:
Beiträge: 6155
Herkunft: Stuttgart

beantworten | zitieren | melden

Zitat von makuser
Wo soll ich denn dann [...] hinschreiben???
Im Typinitialisierer hast du normalerweise keinen Zugriff auf this.

Er sieht (von der Syntax her) wie folgt aus:


public class Foo
{
     //Typinitialisierer
     static Foo()
     {
     }
}
private Nachricht | Beiträge des Benutzers
makuser
myCSharp.de - Member



Dabei seit:
Beiträge: 21

Themenstarter:

beantworten | zitieren | melden

@JAck30lena:

leider möchte ich aber von mo-do den nächsten tag anzeigen und von fr-so montag anzeigen. Zusätzlich möchte ich aber nicht z.B. "Mitwoch" ausgegeben haben, sondern "mitwoch" also alles klein.

Eigentlich möchte ich ja nur einen ganz bestimmten Text in der PDF anzeigen und es soll auch keine Nav-Bar und die Symbolleiste verfügbar sein.

MAK
private Nachricht | Beiträge des Benutzers
Gelöschter Benutzer

beantworten | zitieren | melden

Zitat
@JAck30lena:

leider möchte ich aber von mo-do den nächsten tag anzeigen und von fr-so montag anzeigen.
und was macht denn deiner meinung nach der code?
Zitat
Zusätzlich möchte ich aber nicht z.B. "Mitwoch" ausgegeben haben, sondern "mitwoch" also alles klein.

schon mal mit string.ToLower() bekanntschaft gemacht?

probier den code doch einfach mal aus.
makuser
myCSharp.de - Member



Dabei seit:
Beiträge: 21

Themenstarter:

beantworten | zitieren | melden

das geht aber nich


        private string akt_tag = string.Empty;
        private string anz_tag = string.Empty;


#region Um aktuellen Tag + URL rauszufinden
            DateTime today = DateTime.Today;
            akt_tag = DateTime.Today.ToString("dddd", CultureInfo.CurrentCulture);
            anz_tag = (int)today.DayOfWeek < 5
                                     ?
                                         today.AddDays(1).ToString("dddd", CultureInfo.CurrentCulture)
                                     :
                                         today.AddDays(7 - (int)today.DayOfWeek).ToString("dddd", CultureInfo.CurrentCulture);

            anz_url = "http://www.humboldt.we.th.schule.de.de/" + anz_tag.ToLower + ".pdf";
            beschr = ("Heute ist: " + akt_tag + ". " + "Angezeigt wird für: " + anz_tag + ". " + "(unter folgender Adresse: " + anz_url + ")");
            #endregion
Zitat
Fehler 1 Der Operator "+" kann nicht auf Operanden vom Typ "string" und "Methodengruppe" angewendet werden. E:\Visual Studio 2008\Projects\Vertretungsplanprogramm\Vertretungsplanprogramm\Anzeige.cs 41 23 Vertretungsplanprogramm
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von makuser am .
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 52329
Herkunft: Berlin

beantworten | zitieren | melden

Hallo makuser,

man sollte Code nicht blind kopieren. Außerdem ist der Fehler trivial. Siehe [Hinweis] Syntaxfehler selbst lösen (Compilerfehlermeldungen). Der konkrete Fehler kommt meistens, wenn man die Klammern bei einem Methodenaufruf ohne Parameter vergessen hat. So auch hier. Es ist deine Aufgabe, sowas selbst zu beheben.

herbivore
private Nachricht | Beiträge des Benutzers
makuser
myCSharp.de - Member



Dabei seit:
Beiträge: 21

Themenstarter:

beantworten | zitieren | melden

Ich habe nur das kopiert, um den akt. tag rauszufinden und den von morgen und so.
das auch nur durch ne aufforderung.

edit: aber ich habe ihn jetzt. is schon peinlich der fehler
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von makuser am .
private Nachricht | Beiträge des Benutzers
makuser
myCSharp.de - Member



Dabei seit:
Beiträge: 21

Themenstarter:

beantworten | zitieren | melden

Jetzt habe ich immernoch das Problem, dass ich eine PDF anzeigen möchte, die online ist.
Mit dem browser plugin würde es funktionieren, aber ich kann die ganzen Leisten nich ausblenden.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von makuser am .
private Nachricht | Beiträge des Benutzers
makuser
myCSharp.de - Member



Dabei seit:
Beiträge: 21

Themenstarter:

beantworten | zitieren | melden

was kann ich machen???
gibt es eine Möglichkeit, dass in dem Moment, in dem die Form angezeigt wird, die Datei aus dem Inet geladen wird, und dann angezeigt wird??
private Nachricht | Beiträge des Benutzers
Lion1984
myCSharp.de - Member



Dabei seit:
Beiträge: 782
Herkunft: Österreich

beantworten | zitieren | melden

Welche Schaltflächen meinst du ?

Die von Adobe kannst du einfach ausblenden lassen (z.B. F8 für die obere Leiste).
Hier musst du aber aufpassen, ich vermute diese Einstellung gilt nicht nur für eine einzelne Datei.

Sicher kannst du die Datei auch runterladen, aber ich vermute, die Leisten wirst du weiterhin sehen, da dies, wie gesagt, eine Adobe Reader Einstellung ist.

Lion
lg Lion
private Nachricht | Beiträge des Benutzers
winSharp93
myCSharp.de - Experte

Avatar #avatar-2918.png


Dabei seit:
Beiträge: 6155
Herkunft: Stuttgart

beantworten | zitieren | melden

Zitat von makuser
gibt es eine Möglichkeit, dass in dem Moment, in dem die Form angezeigt wird, die Datei aus dem Inet geladen wird, und dann angezeigt wird??
Wenn dir das Adobe Steuerelement nicht flexibel genug ist, gibt es auch einige Komponenten von Drittanbietern - die sind dann aber sicherlich nicht gerade billig.
private Nachricht | Beiträge des Benutzers
makuser
myCSharp.de - Member



Dabei seit:
Beiträge: 21

Themenstarter:

beantworten | zitieren | melden

ok angenommen ich nehme das browserplugin, wie kann ich dann die navbar(linke leiste) ausblenden???
ich könnte ja den key "F8" senden, und damit die obere leiste ausblenden.

MAK
private Nachricht | Beiträge des Benutzers
Lion1984
myCSharp.de - Member



Dabei seit:
Beiträge: 782
Herkunft: Österreich

beantworten | zitieren | melden

Die Linke kannst du mit Rechte Maustaste ausblenden (einfach links auf die NavBar rechte Maustaste, dann gibt es den Menüpunkt ausblenden).

Aber wie gesagt, dass sind Programmweite Einstellungen bzw. sollte sich der Benützer selbst überlegen, ob er diese haben möchte oder nicht. Mir kommt z.B. kein Programm auf den Rechner, der mir Einstellungen verändert und ich diese manuell zurückstellen muss.

Einfach mal so was abstellen ohne eine Info oder ähnliches finde ich gar nicht gut.
Oder darf ich dir ein Programm senden, dass dir deine Word-, Outlook- und noch ander Einstellungen verändert? Einfach so? :)

Lion
lg Lion
private Nachricht | Beiträge des Benutzers
makuser
myCSharp.de - Member



Dabei seit:
Beiträge: 21

Themenstarter:

beantworten | zitieren | melden

nein.
so is es nich.
ICh habe eine Form.
Die zeigt mir für meine schule den Vertretungsplan für den nächsten tag an.
Ich will nur in der einen Form die leisten ausblenden.
Ich hab sowas schon mal geschrieben (für meine alte Schule), aber da war es mit nem SQL server gelöst. Hier geht das nich.
Es is definitif kein Hackerprog., welches irgendwelche Einstellungen im IE, FF oder so verändert!!!!
Also die Form soll erscheinen, wenn die navbar und so ausgeblendet is.

Danke

MAK
private Nachricht | Beiträge des Benutzers
makuser
myCSharp.de - Member



Dabei seit:
Beiträge: 21

Themenstarter:

beantworten | zitieren | melden

also...
keiner eine Idee???
man könnte die datei ja temporär runterladen und anzeigen, dann warten bis die Form geschlossen wird, und dann wieder löschen.
Aber solche aktionen würde jedes ANTIVIREN Prog anzeigen, weil es kein richtiges Programm mit gültiger Signatur is.

MAK
private Nachricht | Beiträge des Benutzers
Lion1984
myCSharp.de - Member



Dabei seit:
Beiträge: 782
Herkunft: Österreich

beantworten | zitieren | melden

Welches Problem hast du den noch?

Es ist wohl egal, ob du die Datei direkt anzeigst oder runter lädst, das "Problem" mit den verschiedenen Leisten hast du dennoch, egal ob runter geladen oder nicht.

Lion
lg Lion
private Nachricht | Beiträge des Benutzers
makuser
myCSharp.de - Member



Dabei seit:
Beiträge: 21

Themenstarter:

beantworten | zitieren | melden

doch wenn's lokal is dann kann ich ja

this.PDFVIEW1_oder_so.setNavbar = true
schreiben.

MAK
private Nachricht | Beiträge des Benutzers
Lion1984
myCSharp.de - Member



Dabei seit:
Beiträge: 782
Herkunft: Österreich

beantworten | zitieren | melden

Dann such dir ein Control, dass PDFs anzeigen kann und eben diese Eigenschaft unterstützt. :)
lg Lion
private Nachricht | Beiträge des Benutzers