tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル PDF作成
投稿日: 2012/09/06(Thu) 13:28
投稿者hoido
いつもお世話になっております。
早速ですが、下記のプログラムで
 エクセルのシート確認し、記載されているPDFファイルを読込み連続したPDFファイルを作成しています。
このたび、スキャナ機器が新しくなり読み込んだ際のPDFのバージョンがアップしてしまいました。
その為に、下記プログラムを実行するとエラーが発生しPDFファイルを作成できなくなってしまいました。

Dim PrintName As String = SaveFolder & oSheet.Cells(1, 1).Text & ".PDF"
Dim dc As New Document
dc.SetPageSize(PageSize.A4.Rotate())
Dim fs1 As FileStream = New FileStream("\\・・・\" & oSheet.Name & ".PDF", FileMode.Create, FileAccess.Write)
Dim wr1 As PdfWriter = PdfWriter.GetInstance(dc, fs1)
dc.Open()
Dim pcb As PdfContentByte = wr1.DirectContent
For n = 1 To 65535
    If oSheet.Cells(n, 1).Text = "" Then Exit For
    Dim rd As PdfReader
    PrintName = SaveFolder & oSheet.Cells(n, 1).Text & ".PDF"
    rd = New PdfReader(PrintName)
    Dim pn As Integer = rd.NumberOfPages()

    For i As Integer = 1 To pn
        dc.SetPageSize(PageSize.A4.Rotate())
        dc.NewPage()
        Dim pip As PdfImportedPage = wr1.GetImportedPage(rd, i)
        Select Case rd.XrefSize
               Case 7
                 pcb.AddTemplate(pip, 0, -1.0F, 1.0F, 0, 0, PageSize.A4.Rotate().Height())
               Case 9
                 pcb.AddTemplate(pip, -0.71F, 0, 0, -0.71F, PageSize.A4.Rotate().Width(), PageSize.A4.Rotate().Height())
        End Select
    Next
dc.Close()

スキャナ時に作成された単ページ版のPDFを普通に開けます。
連続したPDFを作成した際のPDFのバージョンをあげるにはどうしたら宜しいのでしょうか。
宜しくお願いいたします。

古いスレッドにレスはつけられません。