Archive.CompressText
--------------------

Compresses a text into a new archive.

| Component | Version | macOS | Windows | Linux | Server | iOS SDK |
|---|---|---|---|---|---|---|
| [Archive](component_Archive.md) | [14.3](newinversion143.md) | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |

MBS( "Archive.CompressText"; Format; Filter; Destination; FileName; Text; Encoding { ; Options; Password } ) 

**MBS**( **"Archive.CompressText";** /\* Compresses a text into a new archive. \*/  
**$Format**; /\* The format to use.  
Formats: ar, arbsd, argnu, arsvr4, bsdtar, cd9660, cpio, gnutar, iso, iso9660, mtree, mtree-classic, newc, odc, oldtar, pax, paxr, posix, raw, rpax, shar, shardump, ustar, v7tar, v7, warc, xar, zip.e.g. "zip" \*/   
**$Filter**; /\* The filter to use.  
For zip format can be store, bzip2, zstd or deflate.  
Filters: b64encode, bzip2, compress, grzip, gzip, lrzip, lz4, lzip, lzma, lzop, uuencode, xz, zstd.  
  
Not all filters can be combined with all formats.e.g. "deflate" \*/   
**$Destination**; /\* The native file path to the destination archive.  
Or file name for container.e.g. "C:\\test.zip" \*/   
**$FileName**; /\* The file name or path to use for the entry in the archive.e.g. "export.xml" \*/   
**$Text**; /\* The text to compress.  
We use UTF-8 encoding.e.g. "Hello World" \*/   
**$Encoding**; /\* The text encoding for text parameter.   
Default is UTF-8.e.g. "UTF8" \*/   
**$Options**; /\* Optional; The options to pass to writer.  
This is a comma-separated list of options. Option names can be prefixed with module name.  
  
Sample options:   
compression-level=9  
zip:encryption=zipcrypt  
zip:encryption=aes128  
zip:encryption=aes256  
zip64  
gzip:compression-level=9  
hdrcharset=UTF-8e.g. "zip:encryption=zipcrypt" \*/   
**$Password**) /\* Optional; The passphrase to use for password protection.e.g. "secret" \*/ 

### Parameters

| Parameter | Description | Example | Flags |
|---|---|---|---|
| Format | The format to use.   Formats: ar, arbsd, argnu, arsvr4, bsdtar, cd9660, cpio, gnutar, iso, iso9660, mtree, mtree-classic, newc, odc, oldtar, pax, paxr, posix, raw, rpax, shar, shardump, ustar, v7tar, v7, warc, xar, zip. | "zip" |  |
| Filter | The filter to use.   For zip format can be store, bzip2, zstd or deflate.   Filters: b64encode, bzip2, compress, grzip, gzip, lrzip, lz4, lzip, lzma, lzop, uuencode, xz, zstd.      Not all filters can be combined with all formats. | "deflate" |  |
| Destination | The native file path to the destination archive.   Or file name for container. | "C:\\test.zip" |  |
| FileName | The file name or path to use for the entry in the archive. | "export.xml" |  |
| Text | The text to compress.   We use UTF-8 encoding. | "Hello World" |  |
| Encoding | The text encoding for text parameter.    Default is UTF-8. | "UTF8" |  |
| Options | The options to pass to writer.   This is a comma-separated list of options. Option names can be prefixed with module name.      Sample options:    compression-level=9   zip:encryption=zipcrypt   zip:encryption=aes128   zip:encryption=aes256   zip64   gzip:compression-level=9   hdrcharset=UTF-8 | "zip:encryption=zipcrypt" | Optional |
| Password | The passphrase to use for password protection. | "secret" | Optional |

### Result

Returns container or error.

### Description

Compresses a text into a new archive.  
Supports various compression algorithms and encryption.  
### Examples

Compress some text to zip file:

 Set Variable \[ $Container ; Value: MBS ( "Archive.CompressText"; "zip"; "deflate"; "test.zip"; $text ; "compression-level=9") \]  
Compress XML and add to email:

 # get some XML   
Set Variable \[ $XML ; Value: "&lt;test&gt;Hello&lt;/test&gt;" \]  
\# Compress it   
Set Variable \[ $CompressedXML ; Value: MBS ( "Archive.CompressText"; "zip"; "deflate"; "export.zip"; "export.xml"; $xml ; "UTF-8"; "compression-level=9") \]  
\# now add to email   
Set Variable \[ $email ; Value: MBS ( "[SendMail.CreateEmail](SendMailCreateEmail.md)") \]  
Set Variable \[ $r ; Value: MBS ( "[SendMail.AddAttachmentContainer](SendMailAddAttachmentContainer.md)"; $Email ; $CompressedXML ; "export.zip"; "application/zip" ) \]  
Set Variable \[ $r ; Value: MBS ( "[SendMail.SetPlainText](SendMailSetPlainText.md)"; $email ; "Dear " &amp; Contacts::FullName &amp; ¶ &amp; ¶ &amp; "Attached you find the export from " &amp; Get(CurrentDate ) &amp; ¶ &amp; ¶ &amp; "Greetings" &amp; ¶ &amp; "Your FileMaker Server") \]  
Compress text and use Windows ANSI encoding for both the text in the text file and the file name encoding:

 MBS ( "Archive.CompressText"; "zip"; "deflate"; "/Users/cs/Desktop/test.zip"; "hällo.txt"; "Hällo Text"; "Windows"; "hdrcharset=cp1252")  
Compress with password:

 MBS ( "Archive.CompressText"; "zip"; "deflate"; "/Users/cs/Desktop/test.zip"; "hällo.txt"; "Hällo Text"; "UTF-8"; "hdrcharset=UTF-8¶zip:encryption=zipcrypt"; "Hello")  
Compress some text and extract it again:

 Let ( \[  
  
 archive = MBS ( "Archive.CompressText"; "zip"; "deflate"; "test.zip"; "test.txt"; "Hello World. Just a test to check compresssion."; "UTF-8"; "hdrcharset=UTF-8");  
 container = MBS ( "[Archive.ExtractFile](ArchiveExtractFile.md)"; archive; "test.txt" );  
 text = MBS ( "[Text.ReadTextFromContainer](TextReadTextFromContainer.md)"; Container; "UTF-8" )  
  
\]; text )  
<small>  
Example result: Hello World. Just a test to check compresssion.</small>Same with zstd in an ar file:

 Let ( \[  
  
 archive = MBS ( "Archive.CompressText"; "ar"; "zstd"; "test.ar"; "test.txt"; "Hello World. Just a test to check compresssion."; "UTF-8"; "");  
 container = MBS ( "[Archive.ExtractFile](ArchiveExtractFile.md)"; archive; "test.txt" );  
 text = MBS ( "[Text.ReadTextFromContainer](TextReadTextFromContainer.md)"; Container; "UTF-8" )  
  
\]; text )  
### See also

- [Archive.Compress](ArchiveCompress.md)
- [Archive.Extract](ArchiveExtract.md)
- [Archive.ExtractFile](ArchiveExtractFile.md)
- [SendMail.AddAttachmentContainer](SendMailAddAttachmentContainer.md)
- [SendMail.CreateEmail](SendMailCreateEmail.md)
- [SendMail.SetPlainText](SendMailSetPlainText.md)
- [Text.ReadTextFromContainer](TextReadTextFromContainer.md)

### Release notes

- **Version 15.3**
    - Added bzip2 and zstd as filter for zip archives for [Archive.Compress](https://www.mbsplugins.eu/ArchiveCompress.shtml), [Archive.CompressContainer](https://www.mbsplugins.eu/ArchiveCompressContainer.shtml), [Archive.CompressText](https://www.mbsplugins.eu/ArchiveCompressText.shtml) and [Archive.Create](https://www.mbsplugins.eu/ArchiveCreate.shtml) functions.
- **Version 14.3**
    - Added [Archive.CompressText](https://www.mbsplugins.eu/ArchiveCompressText.shtml) function.

### Blog Entries

- [MBS FileMaker Plugin, version 15.3pr5](https://www.mbsplugins.de/archive/2025-07-01/MBS_FileMaker_Plugin_version_1/monkeybreadsoftware_blog_filemaker)
- [MBS FileMaker Plugin 14.3 News](https://www.mbsplugins.de/archive/2024-07-17/MBS_FileMaker_Plugin_143_News/monkeybreadsoftware_blog_filemaker)
- [Neues MBS Plugin 14.3 für Claris FileMaker](https://www.mbsplugins.de/archive/2024-07-09/Neues_MBS_Plugin_143_für_Clar/monkeybreadsoftware_blog_filemaker)
- [MBS FileMaker Plugin 14.3 for Claris FileMaker](https://www.mbsplugins.de/archive/2024-07-09/MBS_FileMaker_Plugin_143_for_C/monkeybreadsoftware_blog_filemaker)
- [Compress and Send](https://www.mbsplugins.de/archive/2024-07-06/Compress_and_Send/monkeybreadsoftware_blog_filemaker)
- [MBS FileMaker Plugin, version 14.3pr7](https://www.mbsplugins.de/archive/2024-07-05/MBS_FileMaker_Plugin_version_1/monkeybreadsoftware_blog_filemaker)
- [Store large texts as container fields](https://www.mbsplugins.de/archive/2024-06-13/Store_large_texts_as_container/monkeybreadsoftware_blog_filemaker)
- [MBS FileMaker Plugin, version 14.3pr2](https://www.mbsplugins.de/archive/2024-06-10/MBS_FileMaker_Plugin_version_1/monkeybreadsoftware_blog_filemaker)

This function checks for a license.

Created 9th June 2024 , last changed 10th February 2026

  
[Archive.CompressContainer](ArchiveCompressContainer.md) - [Archive.Content](ArchiveContent.md)

[HTML Version](ArchiveCompressText.shtml)