It's unclear if you're intending to do this programatically or manually? If the
latter, the other responses about doing a binary file copy are right on target. If
you're using VBA, take a look at
http://vb.mvps.org/samples/Spool for a BAS module
you can drop right into your project and submit these PRN files directly to the
Windows print spooler. Here's the general idea:
Public Sub SpoolFile(sFile As String, PrnName As String, Optional AppName As
String = "")
Dim hPrn As Long
Dim Buffer() As Byte
Dim hFile As Integer
Dim Written As Long
Dim di As DOC_INFO_1
Dim i As Long
Const BufSize As Long = &H4000
'
' Extract filename from passed spec, and build job name.
' Fill remainder of DOC_INFO_1 structure.
'
If InStr(sFile, "\") Then
For i = Len(sFile) To 1 Step -1
If Mid(sFile, i, 1) = "\" Then Exit For
di.pDocName = Mid(sFile, i, 1) & di.pDocName
Next i
Else
di.pDocName = sFile
End If
If Len(AppName) Then
di.pDocName = AppName & ": " & di.pDocName
End If
di.pOutputFile = vbNullString
di.pDatatype = "RAW"
'
' Open printer for output to obtain handle.
' Set it up to begin recieving raw data.
'
Call OpenPrinter(PrnName, hPrn, ByVal 0&)
Call StartDocPrinter(hPrn, 1, di)
Call StartPagePrinter(hPrn)
'
' Open file and pump it to the printer.
'
hFile = FreeFile
Open sFile For Binary Access Read As hFile
'
' Read in 16K buffers and spool.
'
ReDim Buffer(1 To BufSize) As Byte
For i = 1 To LOF(hFile) \ BufSize
Get #hFile, , Buffer
Call WritePrinter(hPrn, Buffer(1), BufSize, Written)
Next i
'
' Get last chunk of file if it doesn't
' fit evenly into a 16K buffer.
'
If LOF(hFile) Mod BufSize Then
ReDim Buffer(1 To (LOF(hFile) Mod BufSize)) As Byte
Get #hFile, , Buffer
Call WritePrinter(hPrn, Buffer(1), UBound(Buffer), Written)
End If
Close #hFile
'
' Shut down spooling process.
'
Call EndPagePrinter(hPrn)
Call EndDocPrinter(hPrn)
Call ClosePrinter(hPrn)
End Sub
Complete source at the link above.