Reconstituir el archivo PNG almacenado como RAW en la base de datos SQL

Estoy trabajando para escribir un informe desde una base de datos SQL (Windows SQL Server) que requerirá que ciertas personas firmen el informe antes de enviarlo al cliente. Esperamos tener un sistema donde estas personas puedan autorizar su firma en la base de datos, y luego podamos usar una imagen de su firma almacenada en la base de datos y colocarla en el informe generado por LaTeX.

Las imágenes de firma se crean como PNG, luego se almacenan en la base de datos en un campo con tipovarbinary. Para usar la firma en el informe, necesito reconstituir el PNG en un archivo que pueda con\includegraphics en LaTeX.

Desafortunadamente, parece que no puedo recrear los PNG fuera de la base de datos. Como no puedo publicar una firma, usaremos la imagen a continuación como ejemplo.

Con esta imagen en mi computadora, puedo leer el archivo como crudo, escribirlo en un archivo diferente y obtener la misma imagen cuando abro el nuevo archivo.

#* It works to read the image from a file and rewrite it elsewhere
pal <- readBin("C:/[filepath]/ColorPalette.png",
          what = "raw", n = 1e8)
writeBin(pal,
         "C:/[filepath]/colors.png",
         useBytes=TRUE)

Ahora, he guardado esa misma imagen en la base de datos, y usando RODBC, puedo extraerla así:

#*** Capture the raw from the database
con <- odbcConnect("DATABASE")
Users <- sqlQuery(con, "SELECT * FROM dbo.[User]")

db_pal <- Users$Signature[Users$LastName == "MyName"]

#*** Write db_pal to a file, but the image won't render
#*** Window Photo Viewer can't open this picture because the file appears to be damaged, corrupted, or is too large (12KB)

writeBin(db_pal[[1]],
         "C:/[filename]/db_colors.png",
         useBytes=TRUE)

Los objetospal ydb_pal se definen aquí enesta esencia (son demasiado largos para caber en el espacio permitido aquí)

Nota:db_pal es una lista de un vector sin procesar. Además, es claramente diferente al vector sin procesarpal

> length(pal)
[1] 2471
> length(db_pal[[1]])
[1] 9951

¿Alguna idea sobre lo que debo hacer para sacar esta imagen de la base de datos?

Respuestas a la pregunta(2)

Su respuesta a la pregunta