awl100Alex писал(а):Мне кажется, копать нужно в направлении алгоритмов по типу встроенного в Microsoft Office виртуально принтера Image - Microsoft Office Document Image Writer. Там ведь тоже из Doc конвертируется в Image по формату и форматированию исходного текста в страницах документа. Тебе нужно поискать подобные алгоритмы, может в инете, где-то и найдёшь.
awl100Alex писал(а):Там ведь тоже из Doc конвертируется в Image по формату и форматированию исходного текста в страницах документа.
Williams писал(а):а отображать в каком-нибудь контроле и программно делать скриншоты, прокручивая на нужный участок?
Amed писал(а):Но Офиса-то нет?
jangle писал(а):Вобщем нужен такой алгоритм: на входе - форматированный TXT файл, на выходе - набор PNG скриншотов с форматированным текстом. Разумеется, никакого "обрезания" и "кривого" переноса слов, не должно быть.
Amed писал(а):PrintPreview просто показывает уже кем-то сформированный документ => надо заранее где-то сформировать его.
Если формировать в WordPad, то и резать скриншоты с окна PrintPreview не нужно, имхо. Достаточно взять Rich Textbox, загрузить в него текст и листать по документу, скриншотя содержимое.
kibernetics писал(а):значит надо поубирать из текста символы переноса строки
jangle писал(а):Оказывается, все уже давно украдено до нас.
Amed писал(а):К слову - на JPEG 100%-качества потеря данных неразличима глазом.
Andrey Fedorov писал(а):Кстати, а может просто форматировать текстовые файлы под QumoVision изначально расставляя переносы как надо?
Private Type PageInfo
PageID As Integer
PageStart As Long
PageEnd As Long
End Type
Private Const wdStatisticPages = 2
Private Const wdGoToPage = 1
Private Const wdGoToNext = 2
Private Const wdAlertsNone = 0
Sub test(ByVal path As String, ByVal itog As String)
Dim A() As PageInfo
Dim WAPP As Object
Dim WDOC As Object
Dim D As Object
Dim I As Integer
Set WAPP = CreateObject("WORD.Application")
If Err = 0 Then
If Not WAPP Is Nothing Then
WAPP.Visible = False
WAPP.Application.DisplayAlerts = wdAlertsNone
Set WDOC = WAPP.Documents.Open(path)
If Err = 0 Then
If Not WDOC Is Nothing Then
'## открытие документа и считывание списка страниц
ReDim A(WDOC.ComputeStatistics(wdStatisticPages)) As PageInfo
For I = 1 To UBound(A)
WAPP.Selection.GoTo What:=wdGoToPage, Which:=wdGoToNext, Name:=I
Set D = WAPP.Selection.Characters(1)
A(I).PageStart = D.Start
A(I).PageID = I
A(I).PageEnd = D.StoryLength
Next I
For I = 1 To UBound(A) - 1
A(I).PageEnd = A(I + 1).PageStart - 1
Next I
For I = 1 To UBound(A)
WAPP.Selection.Start = A(I).PageStart
WAPP.Selection.End = A(I).PageEnd
WAPP.Selection.CopyAsPicture
Set Picture1.Picture = Clipboard.GetData
'## сохраняем картинку на диск
SavePicture Picture1.Picture, "Z:\FILE-P" & I & ".bmp"
Next I
'## тут обработка будет
'## теперь выход
WDOC.Close
End If
End If
WAPP.Quit
End If
End If
MsgBox "OK"
End Sub
Private Sub Command1_Click()
test "d:\tempo.txt", ""
End Sub
Сейчас этот форум просматривают: Google-бот, Yandex-бот и гости: 62