Laden...

Forenbeiträge von port45 Ingesamt 11 Beiträge

10.07.2017 - 20:17 Uhr

Danke für deine Antwort.

Naja also es handelt sich um eine PDF von 51 seiten. Dort ist ein Booklet 3 mal hinterlegt. Also ein Booklet a 17 Seiten.
Jedes Booklet soll nun alleine in einer PDF stehen.
Also statt einer großen 51 seitigen PDF drei 17 seitige.

Die Einzelnen Booklets wurden seperrat erstellt und dann zusammengefügt.

Jedes hat ein Inhaltsverzeichnis mit verweisen bezogen auf die 17 Seiten und nicht auf die 51.
In der großen PDF funktionieren die Verweise auch.

Deshalb dachte ich mir das zumindestens beim ersten 17er split die Verweise noch funktionieren. Aber nein klappt nicht.

Hoffe habe mich verständlich ausgedrückt ^^

Alternativ könnte ich mir nur vorstellen die verweise einzeln neu einfüge.
Aber ich weiß nicht ob das geht, auf der Seite des Inhaltsverzeichnisses einen Satz zu suchen und den umzuwandeln.

edit: Hab mir nochmal gedanken gemacht. Man muss doch irgendwie die Verweise aus der Original PDF auslesen können und auf andere PDFs übertragen oder nicht?
Das wäre die bessere Lösung als alles einzeln neu zu gestalten.

edit: Also ich denke ich muss die Verweise komplett neu setzen.
Der jetzige Plan ist:

Gehe auf Seite X (wo das Inhaltsverzeichnis ist) suche Text "BLABLA" wandel text in Link um, also mit einer Action verknüpfen action.gotolocalpage(x);

Problem dabei: Wie kann ich dies durchführen?
Mein jetziger Code nimmt ja den kompletten Inhalt einer Seite und kopiert diesen 1:1 in eine neue Seite, die dann zum neuen Dokument hinzugefügt wird.

Natürlich könnte ich die actions manuell einfach reinschreiben auf Seite X aber die formatierung des Textes darf nicht beeinträchtigt werden, da der Text "BLABLA" zum Beispiel um 10 grad gedreht ist.

10.07.2017 - 15:46 Uhr

Hallo zusammen,

habe ein kleines Problem und zwar möchte ich eine PDF kopieren mit C#.
Beziehungsweise, eine PDF in mehrer aufsplitten.

Problem dabei ist nur, dass das Inhaltsverzeichnis, also die Links nicht übernommen werden.
Sprich ich kann in der neuen PDF nicht mehr im Inhaltsverzeichnis etwas anklicken und dann an betreffende Stelle springen.

Habe es bisher so gelöst:


            PdfReader reader = null;            
            Document sourceDocument = null;
            PdfCopy pdfCopyProvider = null;
            PdfImportedPage importedPage = null;
            reader = new PdfReader(path);
            Seitenanzahl = reader.NumberOfPages;
            sourceDocument = new Document(reader.GetPageSizeWithRotation(startpage));

            pdfCopyProvider = new PdfCopy(sourceDocument,
                new FileStream(outputpdfpath, FileMode.Create, FileAccess.ReadWrite));
              
            sourceDocument.Open();

            for (int i = startpage; i <= endpage; i++)
            {
                importedPage = pdfCopyProvider.GetImportedPage(reader, i);
                
                pdfCopyProvider.AddPage(importedPage);
            }
            sourceDocument.Close();

            reader.Close();

Wie gesagt funktioniert alles, aber die Links werden nicht übernommen.

edit: gleiche auch mit PDFSharp, irgendwie übernimmt er nicht die verweise.

25.05.2016 - 20:31 Uhr

Auf jeden Fall danke für die Antworten.
Ich habe mich jetzt ein wenig eingelesen in die Funktion des Scanners.
Ich habe es jetzt gelöst.

Einfach Focus auf die Textbox und unter dem Keydown-Ereignis die Methode schreiben, die aufgerufen werden soll wenn die ENTER-Taste gedrückt wird und Fertig.

Denn der Scanner funktioniert ähnlich wie eine Tastatur und sendet nach dem Scannen eines Barcodes ein ENTER.

Danke für die Hilfe : )

25.05.2016 - 18:24 Uhr

danke für deine Antwort.
Ja die Textbox ist nicht zwingend notwendig.
Uff also ist schon ein wenig her aber ich meine der Scanner schickt als letztes ein bestimmtes Bit als Abschluss. Prioritätsbit? MSG oder so? Ich weiß es nicht mehr. Also soll ich auf das Abschlussbit abfragen?

25.05.2016 - 17:53 Uhr

Hallo zusammen,

ich hab mich nach einiger Zeit mal wieder an C# getraut und stehe etwas auf dem Schlauch.

Ich habe mir einen Barcode Scanner besorgt, der natürlich einen Barcode abscannen soll.
Der Code bzw. die Zahlenfolge soll dann in einer Textbox angezeigt werden und nach Ende der Eingabe überprüfen ob die Folge in der Datenbank vorhanden ist.

Mein Problem ist nun das ich nicht weiß wie ich mein Programm dazu bringen kann erst die Eingabe abzuwarten und dann die Methode aufzurufen.
Natürlich möchte ich keinen Button etc. benutzen für den Aufruf sondern das Programm soll selber erkennen das die Eingabe beendet ist und dann die Methode starten.

Schreibe ich die Methode in eines der Textbox Ereignisse wie z.b Keychange,Keyup,Keypress etc. dann ruft er die Methode bei jeder Einzelnen Ziffer während der Eingabe auf.
So passiert es das sagen wir ich scanne die Folge 454545 ab und in der Datenbank sind die Folgen 4545 und 454545 findet er beide.

Ein Timer bringt nichts, da das Programm immer laufen soll und ein Timer start nachdem man in der Textbox ist, bringt auch nichts, da ich den Focus immer auf der Textbox haben will.

Wie gesagt andere Steuerelemente die ich mit der Tastatur oder Maus bedienen muss, will ich auch nicht.

Hat jemand einen Ratschlag?

26.12.2013 - 12:57 Uhr

danke für die antwort.
Hab ja vorher gesucht und die lösungen angewandt funktionierte aber nicht.

Sperrung rufe ich ja auf nachdem ich auf einen Knopf drücke.
das heißt in die public strings wird auf jeden fall was reingeschrieben.
Und mit einer messagebox hab ich auch überpruft ob dort was drin steht, aber wie gesagt, wenn ich den wert in späteren Formen benötige ist es leer : /

26.12.2013 - 12:28 Uhr

Hallo zusammen,

ich schreibe gerade ein programm das 11 Forms beinhaltet!
Aber es scheitert im moment daran das ich einen string in Form3 nicht in Form11 abrufen kann.

Also hier ist der Code für die Form 3:


string e1 = "Hallo";
string e2 = "Tschüss";
string e3 = "Hohoho";
form4 for = new Form4();
public void sperrung()
{
es1 = e1;
es2 = e2;
es3 = e3;
for.sho();
this.visible = false;
}

public string es1{get;set;}
public string es2{get;set;}
public string es3{get;set;}

Hier dann Form 11 wo ich wieder auf den string von Form3 zugreifen wollte:


Form3 for3 = new Form3;
messagebox.show(for3.es1);

aber hier bleibt die Messagebox leer : ( weiß jemand warum?

27.03.2013 - 14:23 Uhr

Ja genau mit Oledb.
ok danke schon mal : ) werde ich gleich mal mich mit beschäftigen.

noch eine Frage: Da ich mehrere Tabellen in ein Datagridview gleichzeitig anzeige, kann ich änderungen die ich im dgv vornehme nicht speichern oder? Da ich ja eine komplett neue Tabelle damit erstelle und damit nicht mehr die einzelnen Zeilen den richtigen Tabellen zuordnen kann.
Lieg ich da richtig?

27.03.2013 - 11:58 Uhr

Hallo zusammen,

steck ein bisschen fest...
realisiere gerade ein Programm um Excel-tabellen anzuzeigen und zu bearbeiten.
Klappt auch alles sehr gut bis auf eine Abfrage um alle Tabellen anzuzeigen.

Ich habe 5 Tabellen in meiner Excel Datei und würde gerne alle mit allen spalten und zeilen in einem Datagridview anzeigen.
mein Ansatz:

strCmd = "Select * From [Tabelle1$] UNION ALL Select * From [Tabelle2$]";

Funktioniert ja auch alles wunderbar, aber sobald man eine neue Tabelle Hinzufügt, also eine sechste, müsste man dementsprechen den Code wieder bearbeiten.

Gibts einen Befehl um das ein wenig abzukürzen?
z.b "SELECT * FROM ALL_TABLES" oder sowas?

Danke für jede Hilfe

10.03.2011 - 14:29 Uhr

Ich danke dir schon mal für die schnelle antwort 😃
mal gucken ob ich das irgendwie mit einbauen kann.. hab zwar den snippet noch nicht ganz verstanden aber wird schon : D

edit:

also hab versucht das irgendwie einzubauen, aber ist nicht wirklich das wonach ich gesucht habe...

Wie gesagt ich möchte Random Zahlen von 1 bis 6 erzeugen und jede Zahl darf nur 2 mal vorkommen... sonst noch ne idee?

10.03.2011 - 14:15 Uhr

hallo zusammen : )

Ich bin gerade dabei ein kleines MemorySpiel zu realisieren aber komme schon nicht weiter und zwar möchte ich gerne das die Karten (12 an der Zahl) per Zufall verteilt werden. Es existieren 6 bilder und diese sollen also verteilt werden.
Aber ich bekomme es einfach nicht hin das von jeder karte nur 2 verteilt werden.
Klappt das irgendwie mit Random?

danke schon mal im vorraus 😃