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
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
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.
Schau dir im Zusammenhang mit Excel die OpenXML-Sachen an.
Gruss
Microsoft MVP // Me // Blog // GitHub // @Egghead // All my talks // Speakerdeck
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 "[%]"?
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 %
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