создать PDF из распечатки приложения - PullRequest
0 голосов
/ 26 ноября 2018

Я хочу создать PDF с качеством печати не менее 4000 точек на дюйм.Мое приложение имеет только метод распечатки.Я просто хочу создать PDF из приложения с возможностью распечатки.

Я создаю вывод PDFCreator со следующим кодом, но он дает вывод низкого качества (последние 600 точек на дюйм с vb.net).

Код:

Imports pdfforge.PDFCreator.UI.ComWrapper
Imports System.IO
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Dim btApp As BarTender.Application
    Dim btFormat As BarTender.Format
    Dim btObject As BarTender.DesignObject
    btApp = New BarTender.Application
    Dim btSubString As BarTender.SubString
    btApp.Visible = False
    btFormat = btApp.Formats.Open("C:\test\6PAGE.btw", False, "")
    btFormat.Printer = "PDFCreator"
    Dim oJobQueue As Type = Type.GetTypeFromProgID("PDFCreator.JobQueue")
    Dim PDFCreatorQueue As Object = Activator.CreateInstance(oJobQueue)
    Dim PrintJob As Object
    Dim fullPath As String
    fullPath = Path.Combine("c:\test\", "ozkantest.pdf")
    PDFCreatorQueue.Initialize()
    btFormat.PrintOut(False, False)
    PDFCreatorQueue.WaitForJob(10)
    PrintJob = PDFCreatorQueue.NextJob
    PrintJob.SetProfileSetting("OutputFormat", "Pdf")
    PrintJob.SetProfileSetting("Name", "Pdf")
    PrintJob.SetProfileSetting("TitleTemplate", "Pdf")
    PrintJob.SetProfileSetting("AuthorTemplate", "Pdf")
    PrintJob.SetProfileSetting("PdfSettings.CompressColorAndGray.Compression", "Zip") ' Settings for the compression method. Valid values: Automatic, JpegMaximum, JpegHigh, JpegMedium, JpegLow, JpegMinimum, JpegManual, Zip
    PrintJob.SetProfileSetting("PdfSettings.CompressColorAndGray.Dpi", "4000") '    Images will be resampled to this maximum resolution of the images, if resampling is enabled
    PrintJob.SetProfileSetting("PdfSettings.CompressColorAndGray.Enabled", True) '  If true, color and grayscale images will be processed according to the algorithm. If false, they will remain uncompressed
    PrintJob.SetProfileSetting("PdfSettings.CompressColorAndGray.Resampling", True) '   If true, the images will be resampled to a maximum resolution
    PrintJob.ConvertTo(fullPath)

    PDFCreatorQueue.ReleaseCom()
    PDFCreatorQueue.Clear()
    PrintJob = Nothing
    PDFCreatorQueue = Nothing
    oJobQueue = Nothing

    btFormat.Close(BarTender.BtSaveOptions.btDoNotSaveChanges)
    btApp.Quit()
    btApp = Nothing
End Sub

Конечный класс

Я выбрал самое высокое (4000 точек на дюйм) в настройках принтера, но оно не меняется вообще.

Есть ли решение для этого или мне нужно создать PDF с альтернативным методом?

У меня нет решения для альтернативы.Я жду вашей помощи.Спасибо.

...