Il y'a pourtant des logiciels qui le permettent sur le net. On leur balance n'importe quel PDF texte avec un tableau dedans et l'on nous retourne un classeur xls avec toutes les données dans un tableau excel. Mais je pense qu'ils doivent passer par des API de chez Adobe. Ces API sont elles exploitables... gratuitement ? Y'a-t-il un équivalent dans le monde du libre ?
@+ HD
Il y'a pourtant des logiciels qui le permettent sur le net. On leur balance
n'importe quel PDF texte avec un tableau dedans et l'on nous retourne un
classeur xls avec toutes les données dans un tableau excel. Mais je pense
qu'ils doivent passer par des API de chez Adobe. Ces API sont elles
exploitables... gratuitement ? Y'a-t-il un équivalent dans le monde du libre
?
Il y'a pourtant des logiciels qui le permettent sur le net. On leur balance n'importe quel PDF texte avec un tableau dedans et l'on nous retourne un classeur xls avec toutes les données dans un tableau excel. Mais je pense qu'ils doivent passer par des API de chez Adobe. Ces API sont elles exploitables... gratuitement ? Y'a-t-il un équivalent dans le monde du libre ?
@+ HD
MichD
OUI, tu as raison, tu as le programme acrobat -adobe tu peux essayer ceci pour t'amuser.
Après, il s'agit de jouer avec les objets de la bibliothèque... moi, je n'ai pas vraiment le temps d'approfondir le sujet, et toi ?
'-------------------------------------------------------------------- Sub OpenPDFPageView()
'In order to use the macro you must enable the Acrobat library from VBA editor: 'Go to Tools -> References -> Adobe Acrobat xx.0 Type Library, where xx depends 'on your Acrobat Professional version (i.e. 9.0 or 10.0) you have installed to your PC.
'Alternatively you can find it Tools -> References -> Browse and check for the path 'C:Program FilesAdobeAcrobat xx.0Acrobatacrobat.tlb 'where xx is your Acrobat version (i.e. 9.0 or 10.0 etc.).
Dim PDFApp As AcroApp Dim PDFDoc As AcroAVDoc Dim PDFPageView As AcroAVPageView Dim PDFPath As String Dim DisplayPage As Integer
'Change this to your own complete PDF path 'Full path example 'PDFPath = "C:Program FilesAutodeskACADM 2010Setupen-USSetupResDocsAcad_Mech_2010_UserGuide.pdf" 'For Word 'PDFPath = ThisDocument.Path & "" & "PDF Sample.pdf" 'For Power Point 'PDFPath = ActivePresentation.Path & "" & "PDF Sample.pdf" 'For Excel PDFPath = ThisWorkbook.Path & "" & "PDF Sample.pdf"
'Set the page you want to be displayed DisplayPage = 3
'Initialize Acrobat by creating App object Set PDFApp = CreateObject("AcroExch.App")
'Set AVDoc object Set PDFDoc = CreateObject("AcroExch.AVDoc")
'Open the PDF If PDFDoc.Open(PDFPath, "") = True Then PDFDoc.BringToFront
'Maximize the document Call PDFDoc.Maximize(True)
Set PDFPageView = PDFDoc.GetAVPageView()
'Go to the desired page 'The first page is 0 Call PDFPageView.GoTo(DisplayPage - 1)
'In order to use the macro you must enable the Acrobat library from VBA
editor:
'Go to Tools -> References -> Adobe Acrobat xx.0 Type Library, where xx
depends
'on your Acrobat Professional version (i.e. 9.0 or 10.0) you have
installed to your PC.
'Alternatively you can find it Tools -> References -> Browse and check
for the path
'C:Program FilesAdobeAcrobat xx.0Acrobatacrobat.tlb
'where xx is your Acrobat version (i.e. 9.0 or 10.0 etc.).
Dim PDFApp As AcroApp
Dim PDFDoc As AcroAVDoc
Dim PDFPageView As AcroAVPageView
Dim PDFPath As String
Dim DisplayPage As Integer
'Change this to your own complete PDF path
'Full path example
'PDFPath = "C:Program FilesAutodeskACADM
2010Setupen-USSetupResDocsAcad_Mech_2010_UserGuide.pdf"
'For Word
'PDFPath = ThisDocument.Path & "" & "PDF Sample.pdf"
'For Power Point
'PDFPath = ActivePresentation.Path & "" & "PDF Sample.pdf"
'For Excel
PDFPath = ThisWorkbook.Path & "" & "PDF Sample.pdf"
'Set the page you want to be displayed
DisplayPage = 3
'Initialize Acrobat by creating App object
Set PDFApp = CreateObject("AcroExch.App")
'Set AVDoc object
Set PDFDoc = CreateObject("AcroExch.AVDoc")
'Open the PDF
If PDFDoc.Open(PDFPath, "") = True Then
PDFDoc.BringToFront
'Maximize the document
Call PDFDoc.Maximize(True)
Set PDFPageView = PDFDoc.GetAVPageView()
'Go to the desired page
'The first page is 0
Call PDFPageView.GoTo(DisplayPage - 1)
'In order to use the macro you must enable the Acrobat library from VBA editor: 'Go to Tools -> References -> Adobe Acrobat xx.0 Type Library, where xx depends 'on your Acrobat Professional version (i.e. 9.0 or 10.0) you have installed to your PC.
'Alternatively you can find it Tools -> References -> Browse and check for the path 'C:Program FilesAdobeAcrobat xx.0Acrobatacrobat.tlb 'where xx is your Acrobat version (i.e. 9.0 or 10.0 etc.).
Dim PDFApp As AcroApp Dim PDFDoc As AcroAVDoc Dim PDFPageView As AcroAVPageView Dim PDFPath As String Dim DisplayPage As Integer
'Change this to your own complete PDF path 'Full path example 'PDFPath = "C:Program FilesAutodeskACADM 2010Setupen-USSetupResDocsAcad_Mech_2010_UserGuide.pdf" 'For Word 'PDFPath = ThisDocument.Path & "" & "PDF Sample.pdf" 'For Power Point 'PDFPath = ActivePresentation.Path & "" & "PDF Sample.pdf" 'For Excel PDFPath = ThisWorkbook.Path & "" & "PDF Sample.pdf"
'Set the page you want to be displayed DisplayPage = 3
'Initialize Acrobat by creating App object Set PDFApp = CreateObject("AcroExch.App")
'Set AVDoc object Set PDFDoc = CreateObject("AcroExch.AVDoc")
'Open the PDF If PDFDoc.Open(PDFPath, "") = True Then PDFDoc.BringToFront
'Maximize the document Call PDFDoc.Maximize(True)
Set PDFPageView = PDFDoc.GetAVPageView()
'Go to the desired page 'The first page is 0 Call PDFPageView.GoTo(DisplayPage - 1)
chez moi quand je colle un tableau PDF dans excel, chaque ligne est dans une seule cellule, sans séparer les colonnes. si le tableau n'est pas trop grand avec un peu de patience, on peut dans chaque cellule insérer un caractère qui n'existe pas dans les données (per exemple "&") à chauqe endroit où on veut un changement de colonne (2 fois si on veut laisser une colonne vide) .
Avec un petit tableau et un peu de patience c'est faisable effectivement...
Mais si l'on a un tableau de 20000 lignes comportant du texte et des nombres avec espaces où même parmi les nombres l'on a l'espace en séparateur de millier cela devient... ingérable.
Ce serait plus facile si on avait un moyen de délimiter par espace seulement s'il est à côté d'un chiffre, mais je n'ai pas trouvé...
Il serait bien même de pouvoir choisir soit même le séparateur de colonne (; ou tabulation ou autres)... mais je me demande si cette difficulté n'est pas voulu par Adobe... qui réserverait ces possibilités de récupération de tableau PDF dans Excel pour un logiciel payant... :-/
Après... je ne désespère pas que l'on trouve l'astuce un jour.
Malheureusement, en attendant j'utilise l'OCR d'un scanner... Mais le souci des OCR est que leur qualité est variable d'un logiciel à l'autre et que quoique l'on fasse ou dise l'OCR n'est jamais fiable à 100%...
@+ HD
chez moi quand je colle un tableau PDF dans excel, chaque ligne est dans
une
seule cellule, sans séparer les colonnes.
si le tableau n'est pas trop grand avec un peu de patience, on peut dans
chaque
cellule insérer un caractère qui n'existe pas dans les données (per
exemple
"&") à chauqe endroit où on veut un changement de colonne (2 fois si on
veut
laisser une colonne vide) .
Avec un petit tableau et un peu de patience c'est faisable effectivement...
Mais si l'on a un tableau de 20000 lignes comportant du texte et des nombres
avec espaces où même parmi les nombres l'on a l'espace en séparateur de
millier cela devient... ingérable.
Ce serait plus facile si on avait un moyen de délimiter par espace
seulement s'il est à côté d'un chiffre, mais je n'ai pas trouvé...
Il serait bien même de pouvoir choisir soit même le séparateur de colonne (;
ou tabulation ou autres)... mais je me demande si cette difficulté n'est pas
voulu par Adobe... qui réserverait ces possibilités de récupération de
tableau PDF dans Excel pour un logiciel payant... :-/
Après... je ne désespère pas que l'on trouve l'astuce un jour.
Malheureusement, en attendant j'utilise l'OCR d'un scanner... Mais le souci
des OCR est que leur qualité est variable d'un logiciel à l'autre et que
quoique l'on fasse ou dise l'OCR n'est jamais fiable à 100%...
chez moi quand je colle un tableau PDF dans excel, chaque ligne est dans une seule cellule, sans séparer les colonnes. si le tableau n'est pas trop grand avec un peu de patience, on peut dans chaque cellule insérer un caractère qui n'existe pas dans les données (per exemple "&") à chauqe endroit où on veut un changement de colonne (2 fois si on veut laisser une colonne vide) .
Avec un petit tableau et un peu de patience c'est faisable effectivement...
Mais si l'on a un tableau de 20000 lignes comportant du texte et des nombres avec espaces où même parmi les nombres l'on a l'espace en séparateur de millier cela devient... ingérable.
Ce serait plus facile si on avait un moyen de délimiter par espace seulement s'il est à côté d'un chiffre, mais je n'ai pas trouvé...
Il serait bien même de pouvoir choisir soit même le séparateur de colonne (; ou tabulation ou autres)... mais je me demande si cette difficulté n'est pas voulu par Adobe... qui réserverait ces possibilités de récupération de tableau PDF dans Excel pour un logiciel payant... :-/
Après... je ne désespère pas que l'on trouve l'astuce un jour.
Malheureusement, en attendant j'utilise l'OCR d'un scanner... Mais le souci des OCR est que leur qualité est variable d'un logiciel à l'autre et que quoique l'on fasse ou dise l'OCR n'est jamais fiable à 100%...