A strange symbol is added as a name when embedding a file with an empty string as its name argument.

Merge two documents (use the attached ones) that already have embedded files with the same names.
Observed:

Observed: the following dialog appears:

Dim signProp As New SignatureDataProperties
signProp.ContactInfo = strContactInfo
signProp.Name = strSignersName
signProp.Reason = strReason
signProp.Location = strLocation
signProp.TimeOfSigning = DateTime.Now
Dim signatureName As String = "EsignSignature"
Dim signatureField1 As SignatureField = New SignatureField(signatureName)
UseSignatureProperties = 1
If UseSignatureProperties = 1 Then
Dim sign1 = New Signature(certificate)
signatureField1.Signature = sign1
signatureField1.Signature.Properties = signProp 'THIS WOULD FAIL
Else
signatureField1.Signature = New Signature(certificate)
signatureField1.Signature.Properties.ContactInfo = strContactInfo
signatureField1.Signature.Properties.Location = strLocation
signatureField1.Signature.Properties.Name = strSignersName
signatureField1.Signature.Properties.Reason = strReason
signatureField1.Signature.Properties.TimeOfSigning = DateTime.Now 'THIS WORKS
End Ifat Telerik.Windows.Documents.Core.Fonts.Type1.Type1Format.Type1FontSource.GetFontFamily()
A page with a negative value rotation is exported as a blank image.
Workaround: Use only the Enum Rotation values (Rotate0, Rotate90, Rotate180, Rotate270).
The visual fill element is not exported to pdf:
Only the text part is present.
This is the code used for merging:
private void MergeDifferentDocumentsPagesWithFixed()
{
string[] documentsToMerge =
{
"14301-STOCK_Proforma.pdf",
"14302-STOCK_Proforma.pdf",
"14303-STOCK_Proforma.pdf",
"14304-STOCK_Proforma.pdf",
"14305-STOCK_Proforma.pdf",
"14330-STOCK_Proforma.pdf"
};
RadFixedDocument doc = new RadFixedDocument();
PdfFormatProvider provider = new PdfFormatProvider();
foreach (string current_item in documentsToMerge)
{
string path = @"..\..\Samples\" + current_item;
RadFixedDocument docToMerge;
if (!File.Exists(path))
{
continue;
}
using (Stream stream = File.OpenRead(path))
{
docToMerge = provider.Import(stream);
}
doc.Merge(docToMerge);
}
string outputFilePath = @"..\..\mergedFixed.pdf";
File.Delete(outputFilePath);
using (Stream output = File.OpenWrite(outputFilePath))
{
provider.Export(doc, output);
}
Process.Start(new ProcessStartInfo() { FileName = outputFilePath, UseShellExecute = true });
}Workaround:
private void MergeDifferentDocumentsPages(string resultFileName)
{
string[] documentsToMerge =
{
"14301-STOCK_Proforma.pdf",
"14302-STOCK_Proforma.pdf",
"14303-STOCK_Proforma.pdf",
"14304-STOCK_Proforma.pdf",
"14305-STOCK_Proforma.pdf",
"14330-STOCK_Proforma.pdf"
};
File.Delete(resultFileName);
using (PdfStreamWriter fileWriter = new PdfStreamWriter(File.OpenWrite(resultFileName)))
{
foreach (string documentName in documentsToMerge)
{
string path = @"..\..\Samples\" + documentName;
using (PdfFileSource fileToMerge = new PdfFileSource(File.OpenRead(path)))
{
foreach (PdfPageSource pageToMerge in fileToMerge.Pages)
{
fileWriter.WritePage(pageToMerge);
}
}
}
}
Process.Start(new ProcessStartInfo() { FileName = resultFileName, UseShellExecute = true });
}
PdfProcessing: Handle merge of documents containing fields with the same invalid name.
When an import of the attached PDF file is executed, the result is a file with vertically rotated images, as well as enlarged and distorted. This is part of the code executed in the final application. Do you have any idea why this is happening? Is there any suggested solution?
As a result of the imported file, other processes are executed, such as creating bookmarks and page numbering, but the result is incorrect when presenting the rotated images.
Please find attached a code snippet and the input and generated output file.
Thank you.
private static void TestPDF()
Search for specific text in a PDF document and you will notice that if the document is landscape, the SearchResult.GetWordBoundingRect method may return incorrect results. If the document is Portrait, the exact results are highlighted with the code snippet below:
PdfFormatProvider provider = new PdfFormatProvider();
RadFixedDocument document = provider.Import(File.ReadAllBytes("Landscape.pdf"));
TextSearch searchText = new TextSearch(document);
TextSearchOptions searchOptions = new TextSearchOptions { UseRegularExpression=false, CaseSensitive=false, WholeWordsOnly = true };
IEnumerable<SearchResult> matchResults = searchText.FindAll("sed", searchOptions);
foreach (SearchResult resultItem in matchResults)
{
Rect rect = resultItem.GetWordBoundingRect();
RadFixedPage page = resultItem.GetResultPage();
FixedContentEditor editor = new FixedContentEditor(page);
editor.GraphicProperties.FillColor = new RgbColor(125, 255, 0, 0);
editor.DrawRectangle(rect);
}
string outputFilePath = "result.pdf";
File.Delete(outputFilePath);
File.WriteAllBytes(outputFilePath, provider.Export(document));
Process.Start(new ProcessStartInfo() { FileName = outputFilePath, UseShellExecute = true });Landscape: wrong rectangles are highlighted
Portrait: correct rectangles are highlighted: