Taranan Dokümandan Veri Alınıp Tabloya Aktarılması - Baskı Önizleme +- AccessTr.neT (https://accesstr.net) +-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html) +--- Forum: Access Cevaplanmış Soruları (https://accesstr.net/forum-access-cevaplanmis-sorulari.html) +--- Konu Başlığı: Taranan Dokümandan Veri Alınıp Tabloya Aktarılması (/konu-taranan-dokumandan-veri-alinip-tabloya-aktarilmasi.html) |
Cvp: Taranan Dokümandan Veri Alınıp Tabloya Aktarılması - mehmetdemiral - 21/07/2015 Dediğiniz konuyu araştırayım, yardımcı olurum. Şaka da arada iyi gidiyor değil mi O da lazım insana. Cvp: Taranan Dokümandan Veri Alınıp Tabloya Aktarılması - aliyuzen - 21/07/2015 zaman ayırdığınız için teşekkürler. Cvp: Taranan Dokümandan Veri Alınıp Tabloya Aktarılması - esrefigit - 27/07/2015 Şayet makinelerden gelen formlar senin eklediğin gibi standart bir formdaysa formlari tarayıcıya koyar sonra hepsini çok sayfali tif olrak tararsin ondan sonra asagidaki kod ile cebelleserek yapsbilirsin Sub OCRReader() Dim doc1 As MODI.Document Dim inputFile As String Dim strRecText As String Dim imageCounter As Integer inputFile = Application.GetOpenFilename strRecText = "" Set doc1 = New MODI.Document doc1.Create (inputFile) doc1.OCR ' this will ocr all pages of a multi-page tiff file For imageCounter = 0 To (doc1.Images.Count - 1) ' work your way through each page of results strRecText = strRecText & doc1.Images(imageCounter).Layout.Text ' this puts the ocr results into a string Next fnum = FreeFile() Open "C:\Test\testmodi.txt" For Output As fnum Print #fnum, strRecText Close #fnum doc1.Close End Sub Bu arada modi referansını etkinleştirmeyi unutma ve bu kod basit hali Cvp: Taranan Dokümandan Veri Alınıp Tabloya Aktarılması - esrefigit - 27/07/2015 Function Get_Purchase_Order(fileName As String) As String Dim MDoc As MODI.Document Dim MLayout As MODI.Layout Dim MWord As MODI.Word Dim OCRtext As String Dim p1 As Long, p2 As Long Set MDoc = New MODI.Document MDoc.Create fileName MDoc.Images(0).OCR Set MLayout = MDoc.Images(0).Layout OCRtext = "" For Each MWord In MLayout.Words OCRtext = OCRtext & " " & MWord.Text Next MDoc.Close False Get_Purchase_Order = "" p1 = InStr(OCRtext, "Purchase Order:") If p1 > 0 Then p1 = p1 + Len("Purchase Order:") p2 = InStr(p1, OCRtext, "Job Number:") If p2 > 0 Then Get_Purchase_Order = Mid(OCRtext, p1, p2 - p1) End If Set MLayout = Nothing Set MDoc = Nothing End Function Buda belgedeki metnin bir bölümünü alma Cvp: Taranan Dokümandan Veri Alınıp Tabloya Aktarılması - esrefigit - 28/07/2015 Sadece sayfada beli bir bölümü alacaksan Set miLayout = miDoc.Images(0).Layout miLayout.Words(36).Text Yani 36 kelime yi alır sen artık kalanını araştır ben sana yolunu gösterdim eski günler olsaydi sana örnek yapardim ancak zamanim yok Cvp: Taranan Dokümandan Veri Alınıp Tabloya Aktarılması - esrefigit - 28/07/2015 senin office versiyonunu bilmiyorum modi kodları 2007 office sonrasında çalışmıyor 2010 için bir yükleme önerisi var ama hiç denemedim ondan dolayı sana daha basit bir pdf tarama kodu gönderiyorum ancak bu kodu kullanabbilmen için sayfaları çoksayfalı ve aranabilir pdf olarak kaydedeceksin Sub pdftara() Dim objApp As Object Dim objPDDoc As Object Dim objjso As Object Dim wordsCount As Long Dim page As Long Dim i As Long Dim strData As String Dim strFileName As String strFileName = CurrentProject.Path & "\" & "20150716110246646.pdf" Set objApp = CreateObject("AcroExch.App") Set objPDDoc = CreateObject("AcroExch.PDDoc") 'AD.1 open file, if =false file is damage If objPDDoc.Open(strFileName) Then Set objjso = objPDDoc.GetJSObject For page = 0 To objPDDoc.GetNumPages - 1 wordsCount = objjso.GetPageNumWords(page) MsgBox objjso.getPageNthWord(page, 10) Next Else End If End Sub kod ilk sayfaya gidiyor sayfadaki metinleri sayıyor senin sayfada 49 metin var ve bunun 10. olanı makinenin seriali olan V9414800324 metin ve bunu msgbox ile gösteriyor sonra diğer sayfaya gidiyor ve ordaki seriali gösteriyor anlayacağın her metinin bir sırası var 27. metin ise 12004 bu işte sen bu şekilde metinlerin sırasını belirterek 2000 tane makinenin çıktılarını tek bir tıklama ile veritabanına aktarırsın örnek ektedir. |