Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sync main with develop #46

Merged
merged 4 commits into from
Jun 13, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 57 additions & 0 deletions Forms/ConvertXFAToAcroForms/ConvertXFAToAcroForms.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
using System;
using System.Collections.Generic;
using System.Text;
using Datalogics.PDFL;

/*
*
* The ConvertXFAToAcroForms sample demonstrates how to convert XFA into AcroForms.
* Converts XFA (Dynamic or Static) fields to AcroForms fields and removes XFA fields.
* Copyright (c) 2024, Datalogics, Inc. All rights reserved.
*
*/
namespace ConvertXFAToAcroForms
{
class ConvertXFAToAcroForms
{
static void Main(string[] args)
{
Console.WriteLine("ConvertXFAToAcroForms Sample:");

using (Library lib = new Library(LibraryFlags.InitFormsExtension))
{
if (!lib.IsFormsExtensionAvailable())
{
System.Console.Out.WriteLine("Forms Plugins were not properly loaded!");
return;
}

lib.AllowOpeningXFA = true;

Console.WriteLine("Initialized the library.");

String sInput = Library.ResourceDirectory + "Sample_Input/DynamicXFA.pdf";
String sOutput = "../ConvertXFAToAcroForms-out.pdf";

if (args.Length > 0)
{
sInput = args[0];
}

if (args.Length > 1)
{
sOutput = args[1];
}

using (Document doc = new Document(sInput))
{
UInt32 pagesOutput = doc.ConvertXFAFieldsToAcroFormFields();

Console.WriteLine("XFA document was converted into an AcroForms document with {0} pages.", pagesOutput);

doc.Save(SaveFlags.Full | SaveFlags.Linearized, sOutput);
}
}
}
}
}
14 changes: 14 additions & 0 deletions Forms/ConvertXFAToAcroForms/ConvertXFAToAcroForms.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Adobe.PDF.Library.FormsExtension.LM.NET" Version="18.*" />
</ItemGroup>

</Project>
85 changes: 85 additions & 0 deletions Forms/ExportFormsData/ExportFormsData.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
using System;
using System.Collections.Generic;
using System.Text;
using Datalogics.PDFL;

/*
* The ExportFormsData sample demonstrates how to Export forms data from XFA and AcroForms documents:
*
* - Export data from a XFA (Dynamic or Static) document, the types supported include XDP, XML, or XFD
* - Export data from an AcroForms document, the types supported include XFDF, FDF, or XML
*
* Copyright (c) 2024, Datalogics, Inc. All rights reserved.
*
*/
namespace ExportFormsData
{
class ExportFormsData
{
static void Main(string[] args)
{
Console.WriteLine("ExportFormsData Sample:");

using (Library lib = new Library(LibraryFlags.InitFormsExtension))
{
if (!lib.IsFormsExtensionAvailable())
{
System.Console.Out.WriteLine("Forms Plugins were not properly loaded!");
return;
}

lib.AllowOpeningXFA = true;

Console.WriteLine("Initialized the library.");

//XFA document
String sInput = Library.ResourceDirectory + "Sample_Input/DynamicXFA.pdf";
String sOutput = "../ExportFormsDataXFA.xdp";

if (args.Length > 0)
{
sOutput = args[0];
}

using (Document doc = new Document(sInput))
{
//Export the data while specifying the type, in this case XDP
bool result = doc.ExportXFAFormsData(sOutput, XFAFormExportType.XDP);

if (result)
{
Console.Out.WriteLine("Forms data was exported!");
}
else
{
Console.Out.WriteLine("Exporting of Forms data failed!");
}
}

//AcroForms document
sInput = Library.ResourceDirectory + "Sample_Input/AcroForm.pdf";
sOutput = "../ExportFormsDataAcroForms.xfdf";

if (args.Length > 1)
{
sOutput = args[1];
}

using (Document doc = new Document(sInput))
{
//Export the data while specifying the type, in this case XFDF
bool result = doc.ExportAcroFormsData(sOutput, AcroFormExportType.XFDF);

if (result)
{
Console.Out.WriteLine("Forms data was exported!");
}
else
{
Console.Out.WriteLine("Exporting of Forms data failed!");
}
}
}
}
}
}
14 changes: 14 additions & 0 deletions Forms/ExportFormsData/ExportFormsData.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Adobe.PDF.Library.FormsExtension.LM.NET" Version="18.*" />
</ItemGroup>

</Project>
74 changes: 74 additions & 0 deletions Forms/FlattenForms/FlattenForms.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
using System;
using System.Collections.Generic;
using System.Text;
using Datalogics.PDFL;

/*
*
* The FlattenForms sample demonstrates how to Flatten XFA into AcroForms.
*
* - Flatten XFA (Dynamic or Static) to regular page content which converts and expands XFA fields to regular PDF content and removes the XFA fields.
* - Flatten AcroForms to regular page content which converts AcroForm fields to regular page content and removes the AcroForm fields.
* Copyright (c) 2024, Datalogics, Inc. All rights reserved.
*
*/
namespace FlattenForms
{
class FlattenForms
{
static void Main(string[] args)
{
Console.WriteLine("FlattenForms Sample:");

using (Library lib = new Library(LibraryFlags.InitFormsExtension))
{
if (!lib.IsFormsExtensionAvailable())
{
System.Console.Out.WriteLine("Forms Plugins were not properly loaded!");
return;
}

//Must be set to true to prevent default legacy behavior of PDFL
lib.AllowOpeningXFA = true;

Console.WriteLine("Initialized the library.");

//XFA document
String sInput = Library.ResourceDirectory + "Sample_Input/DynamicXFA.pdf";
String sOutput = "../FlattenXFA-out.pdf";

if (args.Length > 0)
{
sInput = args[0];
}

if (args.Length > 1)
{
sOutput = args[1];
}

using (Document doc = new Document(sInput))
{
UInt32 pagesOutput = doc.FlattenXFAFormFields();

Console.WriteLine("XFA document was expanded into {0} Flattened pages.", pagesOutput);

doc.Save(SaveFlags.Full | SaveFlags.Linearized, sOutput);
}

//AcroForms document
sInput = Library.ResourceDirectory + "Sample_Input/AcroForm.pdf";
sOutput = "../FlattenAcroForms-out.pdf";

using (Document doc = new Document(sInput))
{
doc.FlattenAcroFormFields();

Console.WriteLine("AcroForms document was Flattened.");

doc.Save(SaveFlags.Full | SaveFlags.Linearized, sOutput);
}
}
}
}
}
14 changes: 14 additions & 0 deletions Forms/FlattenForms/FlattenForms.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Adobe.PDF.Library.FormsExtension.LM.NET" Version="18.*" />
</ItemGroup>

</Project>
90 changes: 90 additions & 0 deletions Forms/ImportFormsData/ImportFormsData.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
using System;
using System.Collections.Generic;
using System.Text;
using Datalogics.PDFL;

/*
* The ImportFormsData sample demonstrates how to Import forms data into XFA and AcroForms documents:
*
* - Import data into a XFA (Dynamic or Static) document, the types supported include XDP, XML, or XFD
* - Import data into an AcroForms document, the types supported include XFDF, FDF, or XML
*
* Copyright (c) 2024, Datalogics, Inc. All rights reserved.
*/
namespace ImportFormsData
{
class ImportFormsData
{
static void Main(string[] args)
{
Console.WriteLine("ImportFormsData Sample:");

using (Library lib = new Library(LibraryFlags.InitFormsExtension))
{
if (!lib.IsFormsExtensionAvailable())
{
System.Console.Out.WriteLine("Forms Plugins were not properly loaded!");
return;
}

lib.AllowOpeningXFA = true;

Console.WriteLine("Initialized the library.");

//XFA document
String sInput = Library.ResourceDirectory + "Sample_Input/DynamicXFA.pdf";
String sInputData = Library.ResourceDirectory + "Sample_Input/DynamicXFA_data.xdp";
String sOutput = "../ImportFormsDataXFA-out.pdf";

if (args.Length > 0)
{
sOutput = args[0];
}

using (Document doc = new Document(sInput))
{
//Import the data, acceptable types include XDP, XML, and XFD
bool result = doc.ImportXFAFormsData(sInputData);

if (result)
{
Console.Out.WriteLine("Forms data was imported!");

doc.Save(SaveFlags.Full | SaveFlags.Linearized, sOutput);
}
else
{
Console.Out.WriteLine("Importing of Forms data failed!");
}
}

//AcroForms document
sInput = Library.ResourceDirectory + "Sample_Input/AcroForm.pdf";
sInputData = Library.ResourceDirectory + "Sample_Input/AcroForm_data.xfdf";
sOutput = "../ImportFormsDataAcroForms-out.pdf";

if (args.Length > 1)
{
sOutput = args[1];
}

using (Document doc = new Document(sInput))
{
//Import the data while specifying the type, in this case XFDF
bool result = doc.ImportAcroFormsData(sInputData, AcroFormImportType.XFDF);

if (result)
{
Console.Out.WriteLine("Forms data was imported!");

doc.Save(SaveFlags.Full | SaveFlags.Linearized, sOutput);
}
else
{
Console.Out.WriteLine("Importing of Forms data failed!");
}
}
}
}
}
}
14 changes: 14 additions & 0 deletions Forms/ImportFormsData/ImportFormsData.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Adobe.PDF.Library.FormsExtension.LM.NET" Version="18.*" />
</ItemGroup>

</Project>
Loading