ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

  • Overview
  • Simple operations on PDF files
  • Advanced operations on PDF files
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Others
Stored procedures
Overview
PDF is one of the most widely used formats for transmitting and storing electronic documents.
Several methods can be used to create or manage PDF files:
Simple operations on PDF files
Various functions allow you to perform simple operations on PDF files. These functions directly handle the PDF file:
PDFIsProtectedChecks whether the PDF file requires a password in order to be read.
PDFExtractPageReturns an Image type variable containing a page from a PDF file.
PDFMergeMerges several existing PDF files into a single PDF file. The files are merged one after another. The paths of PDF files can be found in an array.
PDFMergeWithPasswordMerges several existing and password-protected PDF files into a single PDF file.
PDFPasswordProtects a PDF document with a password.
PDFNumberOfPagesReturns the total number of pages found in a PDF file.
PDFToTextExtracts the text found in a PDF file.
WINDEV
Advanced operations on PDF files
To handle more simply the content of a PDF file, WLanguage offers different types of variables:
pdfDocumentThe pdfDocument type is used to get all the advanced characteristics of a PDF document loaded in memory.
pdfTextElementThe pdfTextElement type is used to find out all the characteristics of a text element in a PDF page.
pdfPageThe pdfPage type is used to define all the advanced characteristics of a page from a PDF document loaded in memory.
pdfParameterThe pdfParameter type defines all the characteristics of the PDF file to be generated.
pdfAttachmentThe pdfAttachment type is used to define all the advanced characteristics of an attachment in a PDF document.
pdfSignatureThe pdfSignature type is used to define the advanced characteristics of the signature that will be applied to a PDF file when signing an existing PDF (via PDFSign).
A pdfDocument variable allows loading the content of a PDF file in memory. For example:
MyPDF is pdfDocument = PDFOpen("test.pdf")
 
MySecondPDF is pdfDocument = "C:\temp\examplePDF.pdf"
From this variable, it is possible to access the pages of the PDF document and for each page, the text of the PDF document. For example:
MyPDF is pdfDocument = "test.pdf"
 
FOR EACH DocumentPage OF MyPDF.Page
FOR EACH PageElement OF DocumentPage.TextElement
Trace(PageElement.Text)
END
END
With these types of variables, it is possible to delete or add pages to a document using array management functions (Add, Delete, ... ) directly on the array of pdfPage variables contained in the pdfDocument variable.
Example:
MyPDFDoc is pdfDocument = PDFOpen("C:\temp\Myguide.pdf")
Trace(MyPDFDoc.PDFVersion)
Trace(MyPDFDoc.Author)
Trace(MyPDFDoc.Page.Count)
Trace(MyPDFDoc.Page[1].Width)
Trace(MyPDFDoc.Page[36].Height)
 
FOR EACH ATextElement OF MyPDFDoc.Page[2].TextElement
Trace(ATextElement.Text + " X = " +
ATextElement.X + " Y = " + ATextElement.Y + " L = " +
ATextElement.Width + " H = " + ATextElement.Height)
END
 
MyPDFDoc2 is pdfDocument = "C:\temp\plan.pdf"
// Add pages
Add(MyPDFDoc2.Page, MyPDFDoc.Page[5])
// Insert pages
Insert(MyPDFDoc2.Page, 1, MyPDFDoc.Page[32])
// Save modified PDF
PDFSave(MyPDFDoc2, "MyPDFDoc2.pdf")
ShellExecute("MyPDFDoc2.pdf")

Specific PDF functions allow managing pdfDocument variables:
PDFCloseCloses the PDF file loaded in memory in a pdfDocument variable.
PDFOpenOpens a PDF document and loads it in a pdfDocument variable.
PDFSaveSaves the content of a pdfDocument variable in a ".PDF" file.
Remark: Binding to the PDF Reader control:
  • A pdfDocument variable can be assigned to a PDF Reader control.
  • A PDF document from a PDF Reader control can be retrieved in a pdfDocument variable.
    Example:
    MyPDFDoc is pdfDocument
    MyPDFDoc = PDF_PDFReader
Minimum version required
  • Version 14
This page is also available for…
Comments
Click [Add] to post a comment