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
PDF auslesen und Tabellen in Excel speichern
andr3as93
myCSharp.de - Member



Dabei seit:
Beiträge: 4

Themenstarter:

PDF auslesen und Tabellen in Excel speichern

beantworten | zitieren | melden

Hallo,
ist es möglich ohne großem Aufwand eine PDF datei auszulesen und bestimmte Werte in eine Excel Datei zu speichern? In der PDF ist es möglich den Bereich als Tabelle zu speichern, sodass der Bereich perfekt in Excel passt (siehe Foto) allerdings sind es mehrere PDF's also die Werte unterscheiden sich und es sind manchmal noch andere (mehr oder weniger) Chemische Werte enthalten. Alle PDF's sollen ausgelesen und je PDF untereinander gespeichert werden also z.B.

PDF1 0.51 0.27 1.03 0.012 0.013 1.11 0.06
PDF2 0.13 0.16 0.008 0.17 0.030 0.0082

usw.

Gibts es da irgendeine "simple" möglichkeit?

Viele Grüße & danke,
Andreas
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von andr3as93 am .
Attachments
private Nachricht | Beiträge des Benutzers
p!lle
myCSharp.de - Member

Avatar #avatar-3556.jpg


Dabei seit:
Beiträge: 1053

beantworten | zitieren | melden

Was genau hast du schon ausprobiert?
private Nachricht | Beiträge des Benutzers
andr3as93
myCSharp.de - Member



Dabei seit:
Beiträge: 4

Themenstarter:

beantworten | zitieren | melden

PDF einlesen mit dem PdfReader befehl ist kein problem, auch dann die erste zeile als string speichern also zwischen Ist /Actual und dem [%] aber wie ich das dann in die excel reinschreib weiß ich noch nicht und wie das ist mit der 2. zeile
private Nachricht | Beiträge des Benutzers
Jamikus
myCSharp.de - Member



Dabei seit:
Beiträge: 252
Herkunft: Oberhausen (NRW)

beantworten | zitieren | melden

Iwie bin ich mir noch nicht ganz sicher was so alles probiert wurde:

z.B. PDF einlesen evtl. dies PDF Tabelle auslesen?

Excel? Theo. im Programm einbinden und benutzen? Na gut ist sehr salopp daher gesagt. Dafür gibts aber auch etliche Tutorial.
Ich meine hier im Forum mal ein Beitrag von Rainbird (ich glaube, dass er es war) gelesen zu haben...Habe aber den Beitrag noch nicht wiedergefunden

Edit:

Der Zusammenhang mit Rainbird habe ich gefunden: Ich bin auf ihn gestoßen als es um Office und Late-Binding ging (Allgemeiner COM-Wrapper für Späte Bindung). Bei diesem Beitrag wird auch auf http://netoffice.codeplex.com/ verwiesen.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Jamikus am .
private Nachricht | Beiträge des Benutzers
Coffeebean
myCSharp.de - Team

Avatar #avatar-3295.gif


Dabei seit:
Beiträge: 2461
Herkunft: Deutschland/Schweiz

beantworten | zitieren | melden

Schau dir im Zusammenhang mit Excel die OpenXML-Sachen an.

Gruss
private Nachricht | Beiträge des Benutzers
andr3as93
myCSharp.de - Member



Dabei seit:
Beiträge: 4

Themenstarter:

beantworten | zitieren | melden

Irgendwie klappt das ganze doch nicht so wie ich es mir vorgestellt habe.. hab jetzt ein bisschen was anderes vor. Ich habe die PDF datei in eine TXT datei konvertiert und in einen string gespeichert, wie filtere ich denn jetzt den inhalt zwischen "Ist / Actual / Actuel" und "[%]"?
private Nachricht | Beiträge des Benutzers
Jamikus
myCSharp.de - Member



Dabei seit:
Beiträge: 252
Herkunft: Oberhausen (NRW)

beantworten | zitieren | melden

Evtl hilft dies zum Filtern: On-the-fly Regex-Tester: Regex-Lab
private Nachricht | Beiträge des Benutzers
andr3as93
myCSharp.de - Member



Dabei seit:
Beiträge: 4

Themenstarter:

beantworten | zitieren | melden

leider nicht, bin am PC auf der Arbeit hier fehlt mir was von Net Framework :/ habe bisher

static string ReadInnerText()
        {
            using (var fs = new FileInfo(@"E:\test.txt").OpenText())
            {
                string text = fs.ReadToEnd();
                Match match = Regex.Match(text, @".*\((?<inner>.*)\).*");
                return match.Groups["inner"].Value;
            }
	}



aber er sucht logischerweise nur etwas zwischen ( ) wenn ich was anderes eintrage funktioniert es nicht

edit:

also in der txt datei steht irgendwo

Ist / Actual / Actuel 0.52 0.32 1.03 0.006 0.011 1.10 0.02 0.07 0.04 0.003 0.11 0.027 0.0062 [%]
Ti Nb Ca H2 ppm O2 ppm
Ist / Actual / Actuel < 0.002 < 0.003 0.0017 2.0 16 [%]

ich möchte jetzt alle werte haben erst die oberen zwischen Actuel und % und dann die unteren zwischen Actuel und %
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von andr3as93 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 andr3as93,

das Forum ist kein Pattern-Generator. :-)

Was du möchtest ist auch für einen Anfänger, der sich etwas in Regex-Eingelesen hat, relativ einfach zu realisieren. Schau am besten mal ins [Artikel] Regex-Tutorial.

Im Grunde braucht du einen Pattern, der mit festem Text beginnt und mit festem Text endet und dazwischen halt irgendwas.

Um Teile eines Matches herauszuholen (du willst ja den ganzen Mittelteil), schau dir mal die Gruppierungskonstrukte/Gruppen/Groups an.

herbivore
private Nachricht | Beiträge des Benutzers