PrintOut3 メソッド

ドキュメントをPDFファイル内へプリントする。入力・出力ファイルは共にメモリにストア。

Function PrintOut3(InStream As Variant, FileExtension As String) As Variant

パラメータ

戻り値

(VT_ARRAY | VT_UI1)フォーマットのバイト配列のPDF ファイル

注意点

ファイル変換が上手くいかなかった場合、エラーが起こります。一度エラーが発生したら、詳細情報を得ることが出来ます。

備考: HTMLストリームをプリントする場合、外部オブジェクトへの全てのリンク(画像やスタイルシートなど)は絶対パス(またはBASEタグ使用)で特定されなくてはなりません。でなければ文書は正しくプリントされません。

使用例


    On Error GoTo Function_Err



    Set oPrinter = CreateObject("easyPDF.Printer.7")

    Set oPrintJob = oPrinter.PrintJob



    ' HTMLをメモリ内に作成します。

    strHTM = "<html><body><center>Hello</center></body></html>"



    ' HTMLストリングをADDストリームオブジェクトを使用したバイト配列へ変換します。

    Set oADO = CreateObject("ADODB.Stream")

    oADO.Charset = "Windows-1252"

    oADO.Type = 2 ' 2: adTypeText

    oADO.Open

    oADO.WriteText strHTM

    oADO.Position = 0

    oADO.Type = 1 ' 1: adTypeBinary

    arrHTM = oADO.Read

    oADO.Close



    ' PDFに変換します。

    arrPDF = oPrintJob.PrintOut3(arrHTM, ".htm")



    ' ADOストリームオブジェクトを使用したディスクへバイナリデータをセーブします

    oADO.Type = 1 ' 1: adTypeBinary

    oADO.Open

    oADO.Write arrPDF

    Call oADO.SaveToFile("C:\output.pdf", 2) ' 2: adSaveCreateOverwrite

    oADO.Close



    MsgBox "Success!"



Function_End:

    Exit Sub



Function_Err:

    ' エラーメッセージを取得します。

    MsgBox Err.Description



    ' エラー番号を確認します。

    If Err.Number = PRN_R_CONVERSION_FAILED Then

        ' エラーメッセージの詳細

        MsgBox "Conversion Result: " + oPrintJob.ConversionResultMessage



        ' エラーメッセージがプリンタドライバから来ているのかどうかを確認します。

        nResult = oPrintJob.ConversionResult

        If nResult = PRN_CR_CONVERSION Or _

           nResult = PRN_CR_CONVERSION_INIT Or _

           nResult = PRN_CR_CONVERSION_PRINT Then

            ' プリンタドライバからのエラーメッセージ

            MsgBox "Printer Result: " + oPrintJob.PrinterResultMessage



            ' 更に結果を整数フォーマットで取得できます。

            nPrinterResult = oPrintJob.PrinterResult

        End If

    End If



    Resume Function_End



Javaの例 ? Jawinブリッジ

  
   import com.bcl.easypdf.*;
   import com.bcl.easypdf.EasyPDFPrinter.*;
   import com.bcl.easypdf.EasyPDFPrinter.IPDFSetting;
   import java.io.*;
   
   public class PrintOut3
   {
   
       public static void main(String[] args) throws Exception
       {
       
           EasyPDF.initialize();
           
           IPrinter printer = new IPrinter();
           IPrintJob pj = printer.getPrintJob();
           
           File filein = new File("c:\\input.doc");
           FileInputStream fis = new FileInputStream(filein.getCanonicalPath());
           byte[] byteArr = new byte[(int)filein.length()];
           fis.read(byteArr);
           
           byte[] byteArrOut = (byte[])pj.PrintOut3(byteArr, ".xls");
           
           FileOutputStream fos = new FileOutputStream("c:\\output.pdf");
           fos.write(byteArrOut);
           
           fis.close();    // closing input stream
           fos.close();    // closing output stream
           EasyPDF.uninitialize();
           
       }
}
       
      

Javaの例 ? JACOBブリッジ

  
   import com.bcl.easypdf.*;
   import com.bcl.easypdf.EasyPDFPrinter.*;
   import com.bcl.easypdf.EasyPDFPrinter.IPDFSetting;
   import java.io.*;
   
   public class PrintOut3
   {
   
       public static void main(String[] args) throws Exception
       {
       
           EasyPDF.initialize();
           
           IPrinter printer = new IPrinter();
           IPrintJob pj = printer.getPrintJob();
           
           File filein = new File("c:\\input.doc");
           FileInputStream fis = new FileInputStream(filein.getCanonicalPath());
           byte[] byteArr = new byte[(int)filein.length()];
           fis.read(byteArr);
           
           byte[] byteArrOut = pj.PrintOut3(byteArr, ".doc").toSafeArray().toByteArray();
           
           FileOutputStream fos = new FileOutputStream("c:\\output.pdf");
           fos.write(byteArrOut);
           
           fis.close();    // closing input stream
           fos.close();    // closing output stream
           EasyPDF.uninitialize();
           
       }
}