Info Produit
TéléchargementsOpinionsBeen a self employed software engineer myself, i cannot tell you enough how i appreciate your professionalism and your work. Yannis Sferopoulos |
VintaSoftPDF.NET Plug-in - FAQQuestions d'ordre général:
Redistribution:
Ventes:
PDF:
Programmation:
Pour quels buts je peux utiliser la plug-in VintaSoftPDF.NET Plug-in?VintaSoftPDF.NET est un Plug-in de la bibliothèque VintaSoftImaging.NET et peut être utilisé pour la visualisation, le rendering, la création, la conversion, l’annotation, l’impression, la sauvegarde, la manipulation et le traitement des pages de fichier du format PDF.
Que la plug-in comprend-elle?La bibliothèque comprend:
Dans quels langages de programmation je peux utiliser la plug-in?La licence du développeur et la licence pour la société permettent utiliser composant à:
Licence pour serveur permet d’utiliser composant à:
Quels restrictions existe dans la version non enregistrée de la bibliothèque?La version non enregistrée a des limitations suivantes en utilisation:
Tous ces restrictions sont absentes dans la version enregistrée de la plug-in.
Je n'ai pas trouvé la réponse à ma question. Qu’est-ce que je dois faire?L'information sur la plupart des questions peut être trouvée dans la documentation sur le composant ou dans ce FAQ. Si vous n'avez pas trouvé la réponse à votre question, alors écrivez la lettre au service de la maintenance.
Quels fichiers je dois incorparer dans le distributif de mon logiciel?Il vous faut d’inclure deux fichiers: VintaSoft.Imaging.dll et Vintasoft.PDF.dll. Ces fichiers doivent être emplacés dans le même répertoire que l’assemblage qui s’en réfère. Assurez-vous que la version que vous distribuez est une version avec laquelle votre assemblage compile.
Est-ce que je peux diffuser le composant VintaSoftPDF.NET avec mon application?Oui, vous pouvez diffuser le composant avec votre application. Vous ne payez que pour l’enregistrement initial. La licence pour la société n'ont pas les restrictions de la diffusion. La licence du développeur a certains restrictions de la diffusion. La diffusion de licence du serveur n'est pas libre de droits. Consultez s'il vous plaît l'accord de licence.
Que dois-je faire si la distribution de mon logiciel créé sur la base d’une licence pour développeur peut franchir la barre de 100 copies l'année en cours?Si vous possédez une licence pour développeur et la distribution de votre logiciel peut franchir la barre de 100 copies l'année en cours, il est necessaire de vous adresser au Bureau des ventes de «VintaSoft» où on vous offrira la possibilité d`upgrade de votre licence vers une licence d`organisation au rabais de 30% ou proposera d`acheter une licence appositive pour développeur.
Quelles sont les différences entre la licence pour développeur et la licence pour l'organisation?
Y-a-t-il une différence si j’utilise mon application sur l'ordinateur personnel et le serveur?Oui. Veuillez consulter la rubrique "Deploying" dans la documentation de produit pour comprendre la différence. Termes : Desktop PC - Système d'exploitation Windows XP, Vista, 7 est installé. Server - Système d'exploitation Windows Server 2000, 2003, 2008 est installé.
Je n'arrive pas à ouvrir le fichier PDF en utilisant votre bibliothèque. Qu'est-ce que je dois faire?S'il vous plaît, envoyez-nous cette image que vous n'avez pas réussi à ouvrir. Nous l'analyser et mettre à jour notre algorithme si l'image est correcte.
Document PDF est affiché de manière incorrecte. Que faire?Il est possible pendant la génération de la page:
Erreur (PDFRuntimeError) – paraît quand il y a eu une tentative de dessiner l'élément de bibliothèque non pris en support (par exemple, la tentative de dessiner une image du format JPEG2000), ou une erreur s'est passée dans la bibliothèque même. La présence d'erreurs pendant le dessin de la page indique que la page a été dessinée pas correctement. Avertissement (PDFRuntimeWarning) - se produit quand un élément est dessiné en totalité, mais les fonctions de correction de couleur qui ne sont pas pris en charge par la bibliothèque ne sont pas appliquées (par exemple ICCProfile). Dans la version actuelle de la bibliothèque n'est pas pris en charge:
Erreurs et avertissements peut également se produire pendant l'opération de sauvegarde d’un fichier au format PDF/A. Pour savoir si le document est dessiné correctement (est-ce qu’il y a des éléments non pris en charge ou des erreurs se sont produites) il est nécessaire de se tourner à la propriété PDFDocument.RuntimeMessages. Voici un exemple de code pour calculer les erreurs/avertissements dans le document:
[VB.NET]
Public Shared Sub TestDocument(ByVal fileName As String, ByRef errors As Integer, _
ByRef warnings As Integer)
' open document
Dim document As New PdfDocument(fileName)
errors = 0
warnings = 0
For i As Integer = 0 To document.Pages.Count - 1
' clear messages
document.RuntimeMessages.Clear()
' renderer page
Dim pageImage As VintasoftImage = document.Pages(i).Render()
pageImage.Dispose()
' check messages
For Each message As PdfRuntimeMessage In document.RuntimeMessages
If TypeOf message Is PdfRuntimeWarning Then
warnings += 1
ElseIf TypeOf message Is PdfRuntimeError Then
errors += 1
End If
Next
Next
End Sub
[C#]
public static void TestDocument(string fileName, out int errors, out int warnings)
{
// open document
PdfDocument document = new PdfDocument(fileName);
errors = 0;
warnings = 0;
for (int i = 0; i < document.Pages.Count; i++)
{
// clear messages
document.RuntimeMessages.Clear();
// render the page
VintasoftImage pageImage = document.Pages[i].Render();
pageImage.Dispose();
// check messages
foreach (PdfRuntimeMessage message in document.RuntimeMessages)
{
if (message is PdfRuntimeWarning)
warnings++;
else if (message is PdfRuntimeError)
errors++;
}
}
}
Si le document est tracé avec une erreur, mais la bibliothèque n'a pas signaler une erreur, ou si une erreur n'est pas liée avec des éléments non pris en charge - envoyer votre document PDF dans le service de soutien VintaSoft pour l'étude et la récupération de cette erreur.
Comment emballer le document PDF?Emballage (PDFDocument.Pack) permet:
Utilisation de la fonction de PDFDocument.Optimize vous permet de définir la méthode de compression pour les différents objets: des images en couleur, des images en noir et blanc, les données. Avant la fin du travail la fonction Optimize appelle la fonction d’emballage. Voici un exemple montrant comment emballer le fichier PDF (optimize=false), ou comment emballer le fichier PDF et en même temps faire la conversion de toutes les images en couleur en format JPEG (optimize=true):
[VB.NET]
Public Shared Sub PackPdf(ByVal pdfFileName As String, ByVal optimize As Boolean)
' open PDF document to Read/Write
Dim pdfDocument As New PdfDocument(pdfFileName)
' create PdfFormat - 1.6 format, with compressed coross-reference table
Dim format As New PdfFormat("1.6", True, True)
If optimize Then
' set JPEG Quality to 80
PdfCompressionSettings.DefaultSettings.JpegQuality = 80
' create optimize settings
' compression for Color images - JPEG
' compression for B/W images - not change
Dim optimizeSettings As New PdfOptimizeSettings(PdfCompression.Jpeg, _
PdfCompression.Undefined, _
PdfCompression.Undefined)
' compression for Data - not change
' optimize and Pack document
pdfDocument.Optimize(format, optimizeSettings)
Else
' pack document
pdfDocument.Pack(format)
End If
' free resources
pdfDocument.Dispose()
End Sub
[C#]
public static void PackPdf(string pdfFileName, bool optimize)
{
// open PDF document to Read/Write
PdfDocument pdfDoument = new PdfDocument(pdfFileName);
// create PdfFormat - 1.6 format, with compressed cross-reference table
PdfFormat format = new PdfFormat("1.6", true, true);
if (optimize)
{
// set JPEG Quality to 80
PdfCompressionSettings.DefaultSettings.JpegQuality = 80;
// create optimize settings
PdfOptimizeSettings optimizeSettings = new PdfOptimizeSettings(
PdfCompression.Jpeg, //compression for Color images - JPEG
PdfCompression.Undefined, //compression for B/W images - not changed
PdfCompression.Undefined); //compression for Data - not changed
// optimize and Pack document
pdfDoument.Optimize(format, optimizeSettings);
}
else
{
// pack document
pdfDoument.Pack(format);
}
// free resources
pdfDoument.Dispose();
}
Que faire si la police de caractères n'est pas trouvée?Par défaut, l'algorithme de recherche de la police de caractères est suivant: la recherche de la police de caractères commence dans le répertoire $ASSEMBLY_DIRECTORY$\Fonts\, si elle n'y est pas trouvée, alors il y a une recherche parmi les polices de caractères installées dans le système (l’information provenant du registre). Autrement dit, si la police de caractères n’était pas trouvée il est nécessaire de la placer dans le répertoire $ASSEMBLY_DIRECTORY$\Fonts\ ou installer dans le système. Il est nécessaire aussi prendre en compte que la recherche de la police de caractères par défaut se passe par leurs noms communs, mais non pas par les noms dans le style de PostScript. Si vous voulez changer l'algorithme de la recherche des polices de caractères, vous devez créer la réalisation de l’interface IfontProgramsController, ou un héritier de toute réalisation de cette interface (SystemFontProgramsController, UserAndSystemFontProgramsController). Ensuite, vous devez initialiser la propriété du PDFDocument.FontProgramsController par l’exemplaire de la classe que vous avez créée.
Comment convertir PDF au format TIFF?Voici un exemple montrant comment convertir un document PDF en un fichier TIFF à l’aide de la collection d'images et de TiffEncoder:
[VB.NET]
Public Shared Sub ConvertPdfToTiff_1(ByVal pdfFileName As String, _
ByVal tiffFileName As String)
' create ImageCollection
Dim imageCollection As New ImageCollection()
' add PDF document to collecion
imageCollection.Add(pdfFileName)
' create TiffEncoder
Dim tiffEncoder As New TiffEncoder(True)
' set TIFF compression to Zip
tiffEncoder.Compression = TiffCompression.Zip
' save pages use TIFF encoder
imageCollection.SaveSync(tiffFileName, tiffEncoder)
' free resources
tiffEncoder.Dispose()
imageCollection.Dispose()
End Sub
[C#]
public static void ConvertPdfToTiff_1(string pdfFileName, string tiffFileName)
{
// create ImageCollection
ImageCollection imageCollection = new ImageCollection();
// add PDF document to collecion
imageCollection.Add(pdfFileName);
// create TiffEncoder
TiffEncoder tiffEncoder = new TiffEncoder(true);
// set TIFF compression to Zip
tiffEncoder.Compression = TiffCompression.Zip;
// save pages using TIFF encoder
imageCollection.SaveSync(tiffFileName, tiffEncoder);
// free resources
tiffEncoder.Dispose();
imageCollection.Dispose();
}
Voici un exemple montrant comment convertir le document PDF en un fichier TIFF en utilisant PDFDocument et TiffFile:
[VB.NET]
Public Shared Sub ConvertPdfToTiff_2(ByVal pdfFileName As String, _
ByVal tiffFileName As String)
' open PDF document
Dim pdfDocument As New PdfDocument(pdfFileName)
' create TIFF File
Dim tiffFile As New TiffFile(tiffFileName, True)
' set TIFF compression to Zip
tiffFile.Compression = TiffCompression.Zip
' foreach PDF pages
For i As Integer = 0 To pdfDocument.Pages.Count - 1
' in TiffFile add rendered PDF page
tiffFile.Pages.Add(pdfDocument.Pages(i).Render())
Next
' free resources
pdfDocument.Dispose()
tiffFile.Dispose()
End Sub
[C#]
public static void ConvertPdfToTiff_2(string pdfFileName, string tiffFileName)
{
// open PDF document
PdfDocument pdfDocument = new PdfDocument(pdfFileName);
// create TIFF File
TiffFile tiffFile = new TiffFile(tiffFileName, true);
// set TIFF compression to Zip
tiffFile.Compression = TiffCompression.Zip;
// for each PDF pages
for (int i = 0; i < pdfDocument.Pages.Count; i++)
{
// add rendered PDF page to TiffFile
tiffFile.Pages.Add(pdfDocument.Pages[i].Render());
}
// free resources
pdfDocument.Dispose();
tiffFile.Dispose();
}
Comment convertir PDF et TIFF en résolution définie(dpi)?Voici un exemple montrant comment convertir le document PDF en un fichier TIFF (à la définition nécessaire et avec les paramètres donnés du rendering) en utilisant une collection d'images et PdfEncoder:
[VB.NET]
Public Shared Sub ConvertPdfToTiffDPI_1(ByVal pdfFileName As String, _
ByVal tiffFileName As String, _
ByVal dpi As Single)
' create ImageCollection
Dim imageCollection As New ImageCollection()
' set rendering settings
imageCollection.RenderingSettings = New RenderingSettings(dpi, dpi,_
System.Drawing.Drawing2D.InterpolationMode.HighQualityBilinear,_
System.Drawing.Drawing2D.SmoothingMode.AntiAlias)
' add PDF document to collecion
imageCollection.Add(pdfFileName)
' create TiffEncoder
Dim tiffEncoder As New TiffEncoder(True)
' set TIFF compression to Zip
tiffEncoder.Compression = TiffCompression.Zip
' save pages use TIFF encoder
imageCollection.SaveSync(tiffFileName, tiffEncoder)
' free resources
tiffEncoder.Dispose()
imageCollection.Dispose()
End Sub
[C#]
public static void ConvertPdfToTiffDPI_1(string pdfFileName, string tiffFileName,
float dpi)
{
// create ImageCollection
ImageCollection imageCollection = new ImageCollection();
// set rendering settings
imageCollection.RenderingSettings = new RenderingSettings(
dpi,
dpi,
System.Drawing.Drawing2D.InterpolationMode.HighQualityBilinear,
System.Drawing.Drawing2D.SmoothingMode.AntiAlias);
// add PDF document to collecion
imageCollection.Add(pdfFileName);
// create TiffEncoder
TiffEncoder tiffEncoder = new TiffEncoder(true);
// set TIFF compression to Zip
tiffEncoder.Compression = TiffCompression.Zip;
// save pages using TIFF encoder
imageCollection.SaveSync(tiffFileName, tiffEncoder);
// free resources
tiffEncoder.Dispose();
imageCollection.Dispose();
}
Voici un exemple montrant comment convertir le document PDF en un fichier TIFF (à la définition nécessaire et avec les paramètres donnés du rendering) en utilisant PDFDocument et TiffFile:
[VB.NET]
Public Shared Sub ConvertPdfToTiffDPI_2(ByVal pdfFileName As String, ByVal tiffFileName _
As String, ByVal dpi As Single)
' open PDF document
Dim pdfDocument As New PdfDocument(pdfFileName)
' set resolution
pdfDocument.RenderingSettings.Resolution = New Resolution(dpi, dpi)
' set rendering mode - optimal balance between rendering speed and rendering quality.
pdfDocument.RenderingSettings.RenderingMode = PdfRenderingMode.Normal
' create TIFF File
Dim tiffFile As New TiffFile(tiffFileName, True)
' set TIFF compression to Zip
tiffFile.Compression = TiffCompression.Zip
' foreach PDF pages
For i As Integer = 0 To pdfDocument.Pages.Count - 1
' in TiffFile add rendered PDF page
tiffFile.Pages.Add(pdfDocument.Pages(i).Render())
Next
' free resources
pdfDocument.Dispose()
tiffFile.Dispose()
End Sub
[C#]
public static void ConvertPdfToTiffDPI_2(string pdfFileName, string tiffFileName, float dpi)
{
// open PDF document
PdfDocument pdfDocument = new PdfDocument(pdfFileName);
// set resolution
pdfDocument.RenderingSettings.Resolution = new Resolution(dpi, dpi);
// set rendering mode - optimal balance between rendering speed and rendering quality.
pdfDocument.RenderingSettings.RenderingMode = PdfRenderingMode.Normal;
// create TIFF File
TiffFile tiffFile = new TiffFile(tiffFileName, true);
// set TIFF compression to Zip
tiffFile.Compression = TiffCompression.Zip;
// for each PDF pages
for (int i = 0; i < pdfDocument.Pages.Count; i++)
{
// add rendered PDF page to TiffFile
tiffFile.Pages.Add(pdfDocument.Pages[i].Render());
}
// free resources
pdfDocument.Dispose();
tiffFile.Dispose();
}
Comment faire pour convertir TIFF au format PDF?Voici un exemple montrant comment convertir un fichier TIFF en document PDF, et utilisant une collection d'images et PdfEncoder:
[VB.NET]
Public Shared Sub ConvertTiffToPdf_1(ByVal tiffFileName As String, _
ByVal pdfFileName As String)
' create ImageCollection
Dim imageCollection As New ImageCollection()
' add PDF document to collecion
imageCollection.Add(tiffFileName)
' create TiffEncoder
Dim pdfEncoder As New PdfEncoder(True)
' set PDF compression to Zip
pdfEncoder.Settings.Compression = PdfImageCompression.Zip
' save pages use PDF encoder
imageCollection.SaveSync(pdfFileName, pdfEncoder)
' free resources
pdfEncoder.Dispose()
imageCollection.Dispose()
End Sub
[C#]
public static void ConvertTiffToPdf_1(string tiffFileName, string pdfFileName)
{
// create ImageCollection
ImageCollection imageCollection = new ImageCollection();
// add TIFF file to collecion
imageCollection.Add(tiffFileName);
// create TiffEncoder
PdfEncoder pdfEncoder = new PdfEncoder(true);
// set PDF compression to Zip
pdfEncoder.Compression = PdfImageCompression.Zip;
// save pages using PDF encoder
imageCollection.SaveSync(pdfFileName, pdfEncoder);
// free resources
pdfEncoder.Dispose();
imageCollection.Dispose();
}
Voici un exemple montrant comment convertir un fichier TIFF en document PDF, et utilisant PDFDocument et TiffFile:
[VB.NET]
Public Shared Sub ConvertTiffToPdf_2(tiffFileName As String, pdfFileName As String)
' cache size, in bytes (10MB)
Dim cacheSize As Integer = 10 * 1024 * 1024
' unsaved image data size
Dim imageDataSize As Integer = 0
' create TIFF File
Dim tiffFile As New TiffFile(tiffFileName)
' create new PdfDocument, version 1.4
Dim pdfDocument As New PdfDocument(pdfFileName, FileMode.Create, FileAccess.Write, PdfFormat.Pdf_14)
' for each TIFF page
For i As Integer = 0 To tiffFile.Pages.Count - 1
' add TIFF page to PDF document
Dim newPage As PdfPage
Using pageImage As VintasoftImage = tiffFile.Pages(i).GetImage()
newPage = pdfDocument.Pages.Add(pageImage, PdfCompression.Zip)
End Using
' increment image data size
imageDataSize += newPage.ImagesSize
' drop changes to disk if need
If imageDataSize > cacheSize Then
pdfDocument.SaveChanges()
imageDataSize = 0
End If
Next
' free resources
pdfDocument.Dispose()
tiffFile.Dispose()
End Sub
[C#]
public static void ConvertTiffToPdf_2(string tiffFileName, string pdfFileName)
{
// cache size, in bytes (10MB)
int cacheSize = 10 * 1024 * 1024;
// unsaved image data size
int imageDataSize = 0;
// create TIFF File
TiffFile tiffFile = new TiffFile(tiffFileName);
// create new PdfDocument, version 1.4
PdfDocument pdfDocument = new PdfDocument(
pdfFileName,
FileMode.Create,
FileAccess.Write,
PdfFormat.Pdf_14);
// for each TIFF page
for (int i = 0; i < tiffFile.Pages.Count; i++)
{
// add TIFF page to PDF document
PdfPage newPage;
using (VintasoftImage pageImage = tiffFile.Pages[i].GetImage())
newPage = pdfDocument.Pages.Add(pageImage, PdfCompression.Zip);
// increment image data size
imageDataSize += newPage.ImagesSize;
// drop changes to disk if need
if (imageDataSize > cacheSize)
{
pdfDocument.SaveChanges();
imageDataSize = 0;
}
}
// free resources
pdfDocument.Dispose();
tiffFile.Dispose();
}
Comment convertir TIFF en PDF/A?Voici un exemple montrant comment convertir un fichier Tiff en document PDF/A à l'aide d'une collection d'images et de PdfEncoder:
[VB.NET]
Public Shared Sub ConvertTiffToPdfA_1(ByVal tiffFileName As String, _
ByVal pdfFileName As String)
' create ImageCollection
Dim imageCollection As New ImageCollection()
' add PDF document to collecion
imageCollection.Add(pdfFileName)
' create TiffEncoder
Dim pdfEncoder As New PdfEncoder(True)
' set PDF compression to Zip
pdfEncoder.Settings.Compression = PdfImageCompression.Zip
' set PDF/A compatible
pdfEncoder.Settings.PdfACompatible = True
' save pages use PDF encoder
imageCollection.SaveSync(tiffFileName, pdfEncoder)
' free resources
pdfEncoder.Dispose()
imageCollection.Dispose()
End Sub
[C#]
public static void ConvertTiffToPdfA_1(string tiffFileName, string pdfFileName)
{
// create ImageCollection
ImageCollection imageCollection = new ImageCollection();
// add PDF document to collection
imageCollection.Add(pdfFileName);
// create TiffEncoder
PdfEncoder pdfEncoder = new PdfEncoder(true);
// set PDF compression to Zip
pdfEncoder.Compression = PdfImageCompression.Zip;
// set PDF/A compatible
pdfEncoder.PdfACompatible = true;
// save pages using PDF encoder
imageCollection.SaveSync(tiffFileName, pdfEncoder);
// free resources
pdfEncoder.Dispose();
imageCollection.Dispose();
}
Voici un exemple montrant comment convertir un fichier Tiff en document PDF/A à l'aide de PDFDocument et TiffFile:
[VB.NET]
Public Shared Sub ConvertTiffToPdfA_2(ByVal tiffFileName As String, _
ByVal pdfFileName As String)
' create TIFF File
Dim tiffFile As New TiffFile(tiffFileName)
' create new PDF/A compatible PdfDocument
Dim pdfDocument As New PdfDocument(pdfFileName, FileMode.Create, FileAccess.Write, _
PdfFormat.Pdf_A)
' foreach TIFF pages
For i As Integer = 0 To tiffFile.Pages.Count - 1
' add TIFF page to PDF document
pdfDocument.Pages.Add(tiffFile.Pages(i).GetImage(), PdfCompression.Zip)
' drop changes to disk
pdfDocument.SaveChanges()
Next
' free resources
pdfDocument.Dispose()
tiffFile.Dispose()
End Sub
[C#]
public static void ConvertTiffToPdfA_2(string tiffFileName, string pdfFileName)
{
// create TIFF File
TiffFile tiffFile = new TiffFile(tiffFileName);
// create new PDF/A compatible PdfDocument
PdfDocument pdfDoument = new PdfDocument(
pdfFileName,
FileMode.Create,
FileAccess.Write,
PdfFormat.Pdf_A);
// for each TIFF page
for (int i = 0; i < tiffFile.Pages.Count; i++)
{
// add TIFF page to PDF document
pdfDocument.Pages.Add(tiffFile.Pages[i].GetImage(), PdfCompression.Zip);
// drop changes to disk
pdfDocument.SaveChanges();
}
// free resources
pdfDocument.Dispose();
tiffFile.Dispose();
}
Comment extraire de texte d'une page PDF?L'exemple:
[VB.NET]
Public Shared Function ExtractTextFromPdfPage(ByVal document As PdfDocument, _
ByVal pageIndex As Integer) As String
Return document.Pages(pageIndex).TextRegion.TextContent
End Function
[C#]
public static string ExtractTextFromPdfPage(PdfDocument document, int pageIndex)
{
return document.Pages[pageIndex].TextRegion.TextContent;
}
Comment trouver de texte d'une page PDF?L'exemple:
[VB.NET]
Public Shared Function FindTextOnPdfPage(ByVal document As PdfDocument, _
ByVal pageIndex As Integer, _
ByVal text As String) As TextRegion
' creates find options
Dim findOptions As FindTextOptions = New FindTextOptions()
' non case sensitive text must be searched
findOptions.MathCase = False
' find text
Dim startIndex As Integer = 0
Return document.Pages(pageIndex).TextRegion.FindText(text, startIndex, _
findOptions)
End Function
[C#]
public static TextRegion FindTextOnPdfPage(PdfDocument document, int pageIndex,
string text)
{
// creates find options
FindTextOptions findTextOptions = new FindTextOptions();
// non case sensitive text must be searched
findTextOptions.MathCase = false;
// find text
int startIndex = 0;
return document.Pages[pageIndex].TextRegion.FindText(text, ref startIndex,
findTextOptions);
}
Comment trouver et surligner de texte dans le document PDF?L'exemple:
[VB.NET]
Partial Public Class TextSearchForm
Inherits Form
'...
Private _viewerTool As PdfViewerTool
Private _imageViewer As ImageViewer
'...
Public Sub New()
'...
' creates the PdfViewerTool instance
_viewerTool = New PdfViewerTool(_imageViewer, New _
SolidBrush(Color.FromArgb(56, Color.Blue)))
' subscribe to viewer tool events
AddHandler _viewerTool.TextSearched, AddressOf _viewerTool_TextSearched
' sets the PDF viewer tool as current tool
_imageViewer.CurrentTool = _viewerTool
End Sub
' Search the text starts with a current page.
Public Sub SearchText(ByVal text As String, ByVal newSearch As Boolean)
' creates find options
Dim findTextOptions As FindTextOptions = New FindTextOptions()
' non case sensitive text must be searched
findTextOptions.MathCase = False
' find text at all pages
If newSearch Then
_viewerTool.FindText(text, PdfViewerTool.FindTextMode.AllPages, _
findTextOptions)
Else
_viewerTool.FindTextNext(text, PdfViewerTool.FindTextMode.AllPages, _
findTextOptions)
End If
End Sub
' PdfViewerTool.FindTextFinished event handler.
Private Sub _viewerTool_TextSearched(ByVal sender As Object, _
ByVal e As PdfTextSearchedEventArgs)
If e.FoundTextRegion Is Nothing Then
' text was not found
MessageBox.Show(String.Format("The following specified text was not found: {0}", _
e.SearchingText))
Else
' text was found
' set focused page
_imageViewer.FocusedIndex = e.PageIndex
' select text region
_viewerTool.SelectedRegion = e.FoundTextRegion
End If
End Sub
End Class
[C#]
public partial class TextSearchForm : Form
{
//...
ImageViewer _imageViewer = null;
PdfViewerTool _viewerTool = null;
//...
public TextSearchForm()
{
//...
// creates the PdfViewerTool instance
_viewerTool = new PdfViewerTool(_imageViewer, new SolidBrush(
Color.FromArgb(56, Color.Blue)));
// subscribe to viewer tool events
_viewerTool.TextSearched += new EventHandler
|