Como dice el encabezado, requiero pasar un archivo pdf a una variable de tipo caracter; buscando el foro encontr茅 varias opciones las cuales relaciono a continuaci贸n:
Primera forma:
聽 聽 cText := memoread( "c:\xpmake\factura.pdf" )
聽 聽 memoedit(cText)De esta forma me coloca la informaci贸n en una variable, pero 煤nicamente me devuelve lo siguiente:
%PDF-1.3
2 0 obj
<<
/Type /Page /Parent 1 0 R
/Resources 3 0 R
/MediaBox [ 0 0 595.00 842.00 ]
/Contents 4 0 R
>>
endobj
3 0 obj
<<
/ColorSpace << /DeviceRGB /DeviceGray >>
/ProcSet [ /PDF /Text /ImageB /ImageC ]
/XObject
<<
/Image1 6 0 R
>>
>>
endobj
4 0 obj << /Length 5 0 R
>>
stream
q
595.0 0 0 842.0 0 0 cm
/Image1 Do
Q
endstream
endobj
5 0 obj
43
endobj
6 0 obj
<<
/Type /XObject
/Subtype /Image
/Name /Image1
/Filter [ /DCTDecode ]
/Width 2450
/Height 3200
/BitsPerComponent 8
/ColorSpace/DeviceRGB
/Length 141487
>>
stream
每脴每脿Abr铆 el archivo con un editor de texto y me di cuenta que muestra correctamente la informaci贸n hasta que llega a los caracteres desconocidos NUL DLE, adjunto imagen.

Segunda forma:
聽 聽 fMimeEnc( "c:\xpmake\factura.pdf", "c:\xpmake\factura")
聽 聽 cText := MemoRead( "c:\xpmake\factura" )
聽 聽 memoedit(cText)De esta manera me devuelve un archivo codificado, m谩s o menos as铆 (solo parte del dato es muy largo)
JVBERi0xLjMNCjIgMCBvYmoNCjw8DQovVHlwZSAvUGFnZSAvUGFyZW50IDEgMCBSDQovUmVzb3Vy
Y2VzIDMgMCBSDQovTWVkaWFCb3ggWyAwIDAgNTk1LjAwIDg0Mi4wMCBdDQovQ29udGVudHMgNCAw
IFINCj4+DQplbmRvYmoNCjMgMCBvYmoNCjw8DQovQ29sb3JTcGFjZSA8PCAvRGV2aWNlUkdCIC9E
ZXZpY2VHcmF5ID4+DQovUHJvY1NldCBbIC9QREYgL1RleHQgL0ltYWdlQiAvSW1hZ2VDIF0NCi9Y
T2JqZWN0DQo8PA0KL0ltYWdlMSA2IDAgUg0KPj4NCj4+DQplbmRvYmoNCjQgMCBvYmogPDwgL0xl
bmd0aCA1IDAgUiANCg0KPj4NCnN0cmVhbQ0KDQpxDQo1OTUuMCAwIDAgODQyLjAgMCAwIGNtDQov
SW1hZ2UxIERvDQpRIA0KZW5kc3RyZWFtDQplbmRvYmoNCjUgMCBvYmoNCjQzDQplbmRvYmoNCjYg
MCBvYmoNCjw8DQovVHlwZSAvWE9iamVjdA0KL1N1YnR5cGUgL0ltYWdlDQovTmFtZSAvSW1hZ2Ux
DQovRmlsdGVyIFsgL0RDVERlY29kZSBdDQovV2lkdGggMjQ1MA0KL0hlaWdodCAzMjAwDQovQml0
c1BlckNvbXBvbmVudCA4DQovQ29sb3JTcGFjZS9EZXZpY2VSR0INCi9MZW5ndGggMTQxNDg3DQo+
Pg0Kc3RyZWFtDQr/2P/gABBKRklGAAEBAQBgAGAAAP/bAEMAyIqWr5Z9yK+jr+HVyO7/////////
///////////////////////////////////////////////////////////bAEMB1eHh////////
///////////////////////////////////////////////////////////////////////////A
ABEIDIAJkgMBIgACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAAC
AQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZ
GiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOU
lZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T1
9vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAAB
.....
continuaQuisiera saber en qu茅 forma est谩 codificada esta informaci贸n?
Para resumir y si alguien pudiera darme una mano. Lo que necesito hacer es leer un archivo pdf y codificarlo en base64 para ser enviado a un WS.
Muchas gracias
LEANDRO AREVALO
Bogot谩 (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com
[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 25.01 ] [ xHarbour 64 bits) ]