可以在winform或WPF中使用pdf度量工具吗?

时间:2017-07-31 05:04:35

标签: c# wpf vb.net winforms pdf

可以在winForm / wpf应用程序中使用pdf阅读器(adobe acrobat reader)中的测量工具吗? 通过使用哪种api可以实现?

如何将pdf缩放到用户输入值?

提前致谢!

1 个答案:

答案 0 :(得分:0)

在WinForms中,是的,您可以嵌入PDF阅读器控件,但我强烈建议您不要。它会将您锁定到特定版本,不会嵌入到64位应用程序中,并且不可靠。

使用WebBrowser控件更容易:

    WebBrowser1.Navigate(myPDFFilename)

要显示不同类型的文件,您需要编写一个小函数:

  Sub ShowFileInWebBrowser(wb As WebBrowser, filename As String)
    Select Case System.IO.Path.GetExtension(filename).ToLower
      Case ".pdf"
        wb.Navigate(filename)
      Case ".tif"
        Dim strHTML As String = "<html><img src='" & filename & "' /></html>"
        wb.DocumentText = strHTML
      Case Else
        Throw New ArgumentException
    End Select
  End Sub

要编辑或检查TIF,请使用Graphics对象:

Dim img As Image = Bitmap.FromFile(strFilename)
Dim gfx As Graphics = Graphics.FromImage(img)

您可以按如下方式获取图像的真实尺寸:

Dim strMessage As String = "Image size -  Height " & (img.Height / img.VerticalResolution).ToString & " inches, Width " & (img.Width / img.HorizontalResolution).ToString & " inches"
MsgBox(strMessage)

PDF更难。您需要首先提取图像,这将需要一个库。 Aspose会这样做,但它不是免费的。 PdfSharp免费库无法可靠地提取图像。不确定免费的图书馆iTextSharp是否可以做到。