BinaryFile.ReadPDF
------------------

Reads data as PDF.

| Component | Version | macOS | Windows | Linux | Server | iOS SDK |
|---|---|---|---|---|---|---|
| [BinaryFile](component_BinaryFile.md) | [7.3](newinversion73.md) | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |

MBS( "BinaryFile.ReadPDF"; BinaryFileRef; ByteCount { ; FileName } ) 

**MBS**( **"BinaryFile.ReadPDF";** /\* Reads data as PDF. \*/  
**$BinaryFileRef**; /\* The reference number for the open file.e.g. $FH \*/   
**$ByteCount**; /\* The number of Bytes to read.e.g. 1000 \*/   
**$FileName**) /\* Optional; Optional file name to use for PDF in container value.e.g. "test.pdf" \*/ 

### Parameters

| Parameter | Description | Example | Flags |
|---|---|---|---|
| BinaryFileRef | The reference number for the open file. | $FH |  |
| ByteCount | The number of Bytes to read. | 1000 |  |
| FileName | Optional file name to use for PDF in container value. | "test.pdf" | Optional |

### Result

Returns PDF, empty or error.

### Description

Reads data as PDF.  
This is a special method which actually reads the data and then looks inside the data for a PDF.  
So there can be data before and after the PDF, which is ignored.  
Returns nothing if no PDF is found.  
  
For PDF content: If you have a DynaPDF Pro license and [DynaPDF](component_DynaPDF.md) functions initialized, this function can add previews for the PDF file on Windows and Linux. For MacOS, we make them with PDFKit.  
### Examples

Read some PDF from file:

 Set Variable \[ $fh ; Value: MBS ( "[BinaryFile.Open](BinaryFileOpen.md)"; "/Users/cs/Desktop/Tes0059.pdf" ) \]   
Set Variable \[ $len ; Value: MBS ( "[BinaryFile.Length](BinaryFileLength.md)"; $fh ) \]   
Set Variable \[ $pdf ; Value: MBS ( "BinaryFile.ReadPDF"; $fh ; $len ; "test.pdf") \]   
Set Field \[ test::ContainerField ; $pdf \]   
Set Variable \[ $r ; Value: MBS ( "[BinaryFile.Close](BinaryFileClose.md)"; $fh ) \]  
### See also

- [BinaryFile.Close](BinaryFileClose.md)
- [BinaryFile.Length](BinaryFileLength.md)
- [BinaryFile.Open](BinaryFileOpen.md)
- [BinaryFile.ReadByte](BinaryFileReadByte.md)
- [BinaryFile.ReadFloat](BinaryFileReadFloat.md)
- [BinaryFile.ReadHex](BinaryFileReadHex.md)
- [BinaryFile.ReadInt](BinaryFileReadInt.md)
- [BinaryFile.ReadText](BinaryFileReadText.md)

### Release notes

- **Version 9.5**
    - Fixed [BinaryFile.ReadPDF](http://www.mbsplugins.eu/BinaryFileReadPDF.shtml) to not cut away last new line characters on a PDF.

### Blog Entries

- [MBS FileMaker Plugin, version 9.5pr5](https://www.mbsplugins.de/archive/2019-10-29/MBS_FileMaker_Plugin_version_9/monkeybreadsoftware_blog_filemaker)

This function checks for a license.

Created 12nd June 2017 , last changed 27th October 2019

  
[BinaryFile.ReadInt](BinaryFileReadInt.md) - [BinaryFile.ReadText](BinaryFileReadText.md)

[HTML Version](BinaryFileReadPDF.shtml)