private void btnRunSample_Click(object sender, EventArgs e) { if (sampleID != null) { SampleOutputInfo[] output = null; MemoryStream outputStream = null; Assembly asm = Assembly.GetExecutingAssembly(); switch (sampleID) { case "actions": output = Xfinium.Pdf.Samples.Actions.Run(); break; case "annotations": Stream flashInput = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.clock.swf"); Stream u3dInput = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.airplane.u3d"); output = Xfinium.Pdf.Samples.Annotations.Run(flashInput, u3dInput); flashInput.Close(); u3dInput.Close(); break; case "barcodes": output = Xfinium.Pdf.Samples.Barcodes.Run(); break; case "batesnumbers": Stream batesNumbersInput = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.content.pdf"); output = Xfinium.Pdf.Samples.BatesNumbers.Run(batesNumbersInput); batesNumbersInput.Close(); batesNumbersInput = null; break; case "contentextraction": Stream contentExtractionInput = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.content.pdf"); output = Xfinium.Pdf.Samples.ContentExtraction.Run(contentExtractionInput); contentExtractionInput.Close(); contentExtractionInput = null; break; case "contentstream": output = Xfinium.Pdf.Samples.ContentStream.Run(); break; case "documentappend": Stream file1Input = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.content.pdf"); Stream file2Input = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.formfill.pdf"); output = Xfinium.Pdf.Samples.DocumentAppend.Run(file1Input, file2Input); file1Input.Close(); file2Input.Close(); break; case "documentincrementalupdate": outputStream = new MemoryStream(); Stream sri = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.content.pdf"); byte[] buffer = new byte[8192]; while (true) { int readSize = sri.Read(buffer, 0, buffer.Length); if (readSize <= 0) { break; } outputStream.Write(buffer, 0, readSize); } sri.Close(); output = Xfinium.Pdf.Samples.DocumentIncrementalUpdate.Run(outputStream); break; case "documentpagebypagesave": outputStream = new MemoryStream(); output = Xfinium.Pdf.Samples.DocumentPageByPageSave.Run(outputStream); break; case "documentproperties": output = Xfinium.Pdf.Samples.DocumentProperties.Run(); break; case "documentsplit": Stream splitInput = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.content.pdf"); output = Xfinium.Pdf.Samples.DocumentSplit.Run(splitInput); splitInput.Close(); break; case "encryption": Stream encryptionInput = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.encrypted.pdf"); output = Xfinium.Pdf.Samples.Encryption.Run(encryptionInput); encryptionInput.Close(); break; case "fileattachments": Stream attachmentStream1 = Assets.Open("fileattachments_cs.html"); Stream attachmentStream2 = Assets.Open("fileattachments_vb.html"); output = Xfinium.Pdf.Samples.FileAttachments.Run(attachmentStream1, attachmentStream2); attachmentStream1.Close(); attachmentStream2.Close(); break; case "fonts": Stream ttfStream = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.verdana.ttf"); output = Xfinium.Pdf.Samples.Fonts.Run(ttfStream); ttfStream.Close(); break; case "formattedcontent": output = Xfinium.Pdf.Samples.FormattedContent.Run(); break; case "formfill": Stream formStream = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.formfill.pdf"); output = Xfinium.Pdf.Samples.FormFill.Run(formStream); formStream.Close(); break; case "formgenerator": output = Xfinium.Pdf.Samples.FormGenerator.Run(); break; case "grayscaleconversion": Stream grayscaleConversionInput = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.content.pdf"); output = Xfinium.Pdf.Samples.GrayscaleConversion.Run(grayscaleConversionInput); grayscaleConversionInput.Close(); break; case "images": Stream imageStream = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.image.jpg"); Stream cmykImageStream = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.cmyk.tif"); Stream softMaskStream = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.softmask.png"); Stream stencilMaskStream = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.stencilmask.png"); output = Xfinium.Pdf.Samples.Images.Run(imageStream, cmykImageStream, softMaskStream, stencilMaskStream); imageStream.Close(); cmykImageStream.Close(); softMaskStream.Close(); stencilMaskStream.Close(); break; case "measurements": output = Xfinium.Pdf.Samples.Measurements.Run(); break; case "optionalcontent": output = Xfinium.Pdf.Samples.OptionalContent.Run(); break; case "optionalcontentextraction": Stream oceInput = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.content.pdf"); output = Xfinium.Pdf.Samples.OptionalContentExtraction.Run(oceInput); oceInput.Close(); break; case "outlines": output = Xfinium.Pdf.Samples.Outlines.Run(); break; case "pageimposition": Stream pageImpositionInput = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.content.pdf"); output = Xfinium.Pdf.Samples.PageImposition.Run(pageImpositionInput); pageImpositionInput.Close(); break; case "pageobjects": Stream pageObjectsInput = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.pageobjects.pdf"); output = Xfinium.Pdf.Samples.PageObjects.Run(pageObjectsInput); pageObjectsInput.Close(); break; case "pdfa": Stream pdfaIccInput = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.rgb.icc"); Stream pdfaTtfInput = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.verdana.ttf"); output = Xfinium.Pdf.Samples.PDFA.Run(pdfaIccInput, pdfaTtfInput); pdfaIccInput.Close(); pdfaTtfInput.Close(); break; case "portfolios": Stream imagesStream = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.image.jpg"); Stream pdfStream = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.content.pdf"); Stream csStream = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.portfolios_cs.html"); Stream vbStream = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.portfolios_vb.html"); output = Xfinium.Pdf.Samples.Portfolios.Run(imagesStream, pdfStream, csStream, vbStream); imagesStream.Close(); pdfStream.Close(); csStream.Close(); vbStream.Close(); break; case "redaction": Stream redactionStream = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.content.pdf"); output = Xfinium.Pdf.Samples.Redaction.Run(redactionStream); redactionStream.Close(); break; case "removereplaceimages": Stream removeReplaceImagesInput = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.content.pdf"); output = Xfinium.Pdf.Samples.RemoveReplaceImages.Run(removeReplaceImagesInput); removeReplaceImagesInput.Close(); break; case "searchtext": Stream searchTextInput = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.content.pdf"); output = Xfinium.Pdf.Samples.SearchText.Run(searchTextInput); searchTextInput.Close(); break; case "svgtopdf": Stream svgInput = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.tiger.svg"); output = Xfinium.Pdf.Samples.SvgToPdf.Run(svgInput); svgInput.Close(); break; case "text": output = Xfinium.Pdf.Samples.Text.Run(); break; case "tifftopdf": Stream tiffStream = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.sample.tif"); output = Xfinium.Pdf.Samples.TiffToPdf.Run(tiffStream); tiffStream.Close(); break; case "type3fonts": output = Xfinium.Pdf.Samples.Type3Fonts.Run(); break; case "vectorgraphics": Stream iccStream = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.rgb.icc"); output = Xfinium.Pdf.Samples.VectorGraphics.Run(iccStream); iccStream.Close(); break; case "watermarks": Stream watermarkStream = asm.GetManifestResourceStream("Xfinium.Pdf.SamplesExplorer.Xamarin.Android.Support.content.pdf"); output = Xfinium.Pdf.Samples.Watermarks.Run(watermarkStream); watermarkStream.Close(); break; } string pdfPath = ""; if (output != null) { if (sampleID == "pdfa") { pdfPath = System.IO.Path.Combine( System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), output[0].FileName); Stream pdfStream = File.Open(pdfPath, FileMode.Create); PdfAFormatter.Save(output[0].Document as PdfFixedDocument, pdfStream, PdfAFormat.PdfA1b); pdfStream.Flush(); pdfStream.Close(); } else { for (int i = 0; i < output.Length; i++) { pdfPath = System.IO.Path.Combine( System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), output[i].FileName); Stream pdfStream = File.Open(pdfPath, FileMode.Create); output[i].Document.Save(pdfStream); pdfStream.Flush(); pdfStream.Close(); } } } if (outputStream != null) { string fileName = ""; switch (sampleID) { case "documentincrementalupdate": fileName = "xfinium.pdf.sample.documentincrementalupdate.pdf"; break; case "documentpagebypagesave": fileName = "xfinium.pdf.sample.documentpagebypagesave.pdf"; break; } pdfPath = System.IO.Path.Combine( System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), fileName); Stream pdfStream = File.Open(pdfPath, FileMode.Create); outputStream.WriteTo(pdfStream); pdfStream.Flush(); pdfStream.Close(); } Java.IO.File file = new Java.IO.File(pdfPath); file.SetReadable(true, false); global::Android.Net.Uri u = global::Android.Net.Uri.FromFile(file); Intent intent = new Intent(Intent.ActionView); intent.SetDataAndType(u, "application/pdf"); intent.SetFlags(ActivityFlags.ClearTop); try { StartActivity(intent); } catch (ActivityNotFoundException ex) { Toast.MakeText(this, "No PDF viewer available", ToastLength.Short).Show(); } } }
private void RunSample_Click(object sender, RoutedEventArgs e) { SampleViewModel svm = DataContext as SampleViewModel; if (svm != null) { SampleOutputInfo[] output = null; MemoryStream outputStream = null; switch (svm.ID) { case "actions": output = Xfinium.Pdf.Samples.Actions.Run(); break; case "annotations": StreamResourceInfo flashInput = Application.GetResourceStream(new Uri("support/clock.swf", UriKind.Relative)); StreamResourceInfo u3dInput = Application.GetResourceStream(new Uri("support/airplane.u3d", UriKind.Relative)); output = Xfinium.Pdf.Samples.Annotations.Run(flashInput.Stream, u3dInput.Stream); flashInput.Stream.Close(); u3dInput.Stream.Close(); break; case "barcodes": output = Xfinium.Pdf.Samples.Barcodes.Run(); break; case "contentextraction": StreamResourceInfo contentExtractionInput = Application.GetResourceStream(new Uri("support/content.pdf", UriKind.Relative)); output = Xfinium.Pdf.Samples.ContentExtraction.Run(contentExtractionInput.Stream); contentExtractionInput.Stream.Close(); contentExtractionInput = null; break; case "contentstream": output = Xfinium.Pdf.Samples.ContentStream.Run(); break; case "batesnumbers": StreamResourceInfo batesNumbersInput = Application.GetResourceStream(new Uri("support/content.pdf", UriKind.Relative)); output = Xfinium.Pdf.Samples.BatesNumbers.Run(batesNumbersInput.Stream); batesNumbersInput.Stream.Close(); batesNumbersInput = null; break; case "documentappend": StreamResourceInfo file1Input = Application.GetResourceStream(new Uri("support/content.pdf", UriKind.Relative)); StreamResourceInfo file2Input = Application.GetResourceStream(new Uri("support/formfill.pdf", UriKind.Relative)); output = Xfinium.Pdf.Samples.DocumentAppend.Run(file1Input.Stream, file2Input.Stream); file1Input.Stream.Close(); file2Input.Stream.Close(); break; case "documentincrementalupdate": outputStream = new MemoryStream(); StreamResourceInfo sri = Application.GetResourceStream(new Uri("support/content.pdf", UriKind.Relative)); byte[] buffer = new byte[8192]; while (true) { int readSize = sri.Stream.Read(buffer, 0, buffer.Length); if (readSize <= 0) { break; } outputStream.Write(buffer, 0, readSize); } sri.Stream.Close(); output = Xfinium.Pdf.Samples.DocumentIncrementalUpdate.Run(outputStream); break; case "documentpagebypagesave": outputStream = new MemoryStream(); output = Xfinium.Pdf.Samples.DocumentPageByPageSave.Run(outputStream); break; case "documentproperties": output = Xfinium.Pdf.Samples.DocumentProperties.Run(); break; case "documentsplit": StreamResourceInfo splitInput = Application.GetResourceStream(new Uri("support/content.pdf", UriKind.Relative)); output = Xfinium.Pdf.Samples.DocumentSplit.Run(splitInput.Stream); splitInput.Stream.Close(); break; case "encryption": StreamResourceInfo encryptionInput = Application.GetResourceStream(new Uri("support/encrypted.pdf", UriKind.Relative)); output = Xfinium.Pdf.Samples.Encryption.Run(encryptionInput.Stream); encryptionInput.Stream.Close(); break; case "fileattachments": StreamResourceInfo attachmentStream1 = Application.GetResourceStream(new Uri("support/fileattachments.cs.html", UriKind.Relative)); StreamResourceInfo attachmentStream2 = Application.GetResourceStream(new Uri("support/fileattachments.vb.html", UriKind.Relative)); output = Xfinium.Pdf.Samples.FileAttachments.Run(attachmentStream1.Stream, attachmentStream2.Stream); attachmentStream1.Stream.Close(); attachmentStream2.Stream.Close(); break; case "fonts": StreamResourceInfo ttfResource = Application.GetResourceStream(new Uri("support/verdana.ttf", UriKind.Relative)); output = Xfinium.Pdf.Samples.Fonts.Run(ttfResource.Stream); ttfResource.Stream.Close(); break; case "formattedcontent": output = Xfinium.Pdf.Samples.FormattedContent.Run(); break; case "formfill": StreamResourceInfo formStream = Application.GetResourceStream(new Uri("support/formfill.pdf", UriKind.Relative)); output = Xfinium.Pdf.Samples.FormFill.Run(formStream.Stream); formStream.Stream.Close(); break; case "formgenerator": output = Xfinium.Pdf.Samples.FormGenerator.Run(); break; case "grayscaleconversion": StreamResourceInfo grayscaleConversionInput = Application.GetResourceStream(new Uri("support/content.pdf", UriKind.Relative)); output = Xfinium.Pdf.Samples.GrayscaleConversion.Run(grayscaleConversionInput.Stream); grayscaleConversionInput.Stream.Close(); break; case "images": StreamResourceInfo imageStream = Application.GetResourceStream(new Uri("support/image.jpg", UriKind.Relative)); StreamResourceInfo cmykImageStream = Application.GetResourceStream(new Uri("support/cmyk.tif", UriKind.Relative)); StreamResourceInfo softMaskStream = Application.GetResourceStream(new Uri("support/softmask.png", UriKind.Relative)); StreamResourceInfo stencilMaskStream = Application.GetResourceStream(new Uri("support/stencilmask.png", UriKind.Relative)); output = Xfinium.Pdf.Samples.Images.Run(imageStream.Stream, cmykImageStream.Stream, softMaskStream.Stream, stencilMaskStream.Stream); imageStream.Stream.Close(); cmykImageStream.Stream.Close(); softMaskStream.Stream.Close(); stencilMaskStream.Stream.Close(); break; case "measurements": output = Xfinium.Pdf.Samples.Measurements.Run(); break; case "optionalcontent": output = Xfinium.Pdf.Samples.OptionalContent.Run(); break; case "optionalcontentextraction": StreamResourceInfo oceInput = Application.GetResourceStream(new Uri("support/content.pdf", UriKind.Relative)); output = Xfinium.Pdf.Samples.OptionalContentExtraction.Run(oceInput.Stream); oceInput.Stream.Close(); break; case "outlines": output = Xfinium.Pdf.Samples.Outlines.Run(); break; case "pageimposition": StreamResourceInfo pageImpositionInput = Application.GetResourceStream(new Uri("support/content.pdf", UriKind.Relative)); output = Xfinium.Pdf.Samples.PageImposition.Run(pageImpositionInput.Stream); pageImpositionInput.Stream.Close(); break; case "pageobjects": StreamResourceInfo pageObjectsInput = Application.GetResourceStream(new Uri("support/pageobjects.pdf", UriKind.Relative)); output = Xfinium.Pdf.Samples.PageObjects.Run(pageObjectsInput.Stream); pageObjectsInput.Stream.Close(); break; case "pdfa": StreamResourceInfo pdfaIccInput = Application.GetResourceStream(new Uri("support/rgb.icc", UriKind.Relative)); StreamResourceInfo pdfaTtfInput = Application.GetResourceStream(new Uri("support/verdana.ttf", UriKind.Relative)); output = Xfinium.Pdf.Samples.PDFA.Run(pdfaIccInput.Stream, pdfaTtfInput.Stream); pdfaIccInput.Stream.Close(); pdfaTtfInput.Stream.Close(); break; case "portfolios": StreamResourceInfo imagesStream = Application.GetResourceStream(new Uri("support/image.jpg", UriKind.Relative)); StreamResourceInfo pdfStream = Application.GetResourceStream(new Uri("support/content.pdf", UriKind.Relative)); StreamResourceInfo csStream = Application.GetResourceStream(new Uri("support/portfolios.cs.html", UriKind.Relative)); StreamResourceInfo vbStream = Application.GetResourceStream(new Uri("support/portfolios.vb.html", UriKind.Relative)); output = Xfinium.Pdf.Samples.Portfolios.Run(imagesStream.Stream, pdfStream.Stream, csStream.Stream, vbStream.Stream); imagesStream.Stream.Close(); pdfStream.Stream.Close(); csStream.Stream.Close(); vbStream.Stream.Close(); break; case "redaction": StreamResourceInfo redactionStream = Application.GetResourceStream(new Uri("support/content.pdf", UriKind.Relative)); output = Xfinium.Pdf.Samples.Redaction.Run(redactionStream.Stream); redactionStream.Stream.Close(); break; case "removereplaceimages": StreamResourceInfo removeReplaceImagesInput = Application.GetResourceStream(new Uri("support/content.pdf", UriKind.Relative)); output = Xfinium.Pdf.Samples.RemoveReplaceImages.Run(removeReplaceImagesInput.Stream); removeReplaceImagesInput.Stream.Close(); break; case "searchtext": StreamResourceInfo searchTextInput = Application.GetResourceStream(new Uri("support/content.pdf", UriKind.Relative)); output = Xfinium.Pdf.Samples.SearchText.Run(searchTextInput.Stream); searchTextInput.Stream.Close(); break; case "svgtopdf": StreamResourceInfo svgInput = Application.GetResourceStream(new Uri("support/tiger.svg", UriKind.Relative)); output = Xfinium.Pdf.Samples.SvgToPdf.Run(svgInput.Stream); svgInput.Stream.Close(); break; case "text": output = Xfinium.Pdf.Samples.Text.Run(); break; case "tifftopdf": StreamResourceInfo tiffStream = Application.GetResourceStream(new Uri("support/sample.tif", UriKind.Relative)); output = Xfinium.Pdf.Samples.TiffToPdf.Run(tiffStream.Stream); tiffStream.Stream.Close(); break; case "type3fonts": output = Xfinium.Pdf.Samples.Type3Fonts.Run(); break; case "vectorgraphics": StreamResourceInfo iccStream = Application.GetResourceStream(new Uri("support/rgb.icc", UriKind.Relative)); output = Xfinium.Pdf.Samples.VectorGraphics.Run(iccStream.Stream); iccStream.Stream.Close(); break; case "watermarks": StreamResourceInfo watermarksInput = Application.GetResourceStream(new Uri("support/content.pdf", UriKind.Relative)); output = Xfinium.Pdf.Samples.Watermarks.Run(watermarksInput.Stream); watermarksInput.Stream.Close(); break; } if (output != null) { IsolatedStorageFile fileStorage = IsolatedStorageFile.GetUserStoreForApplication(); IsolatedStorageFileStream pdfStream = new IsolatedStorageFileStream(output[0].FileName, FileMode.Create, fileStorage); if (svm.ID == "pdfa") { PdfAFormatter.Save(output[0].Document as PdfFixedDocument, pdfStream, PdfAFormat.PdfA1b); } else { output[0].Document.Save(pdfStream); } pdfStream.Flush(); pdfStream.Close(); MessageBox.Show("Sample completed with success. File " + output[0].FileName + " saved to isolated storage.", "Xfinium.Pdf Samples Explorer", MessageBoxButton.OK); } if (outputStream != null) { string fileName = ""; switch (svm.ID) { case "documentincrementalupdate": fileName = "xfinium.pdf.sample.documentincrementalupdate.pdf"; break; case "documentpagebypagesave": fileName = "xfinium.pdf.sample.documentpagebypagesave.pdf"; break; } IsolatedStorageFile fileStorage = IsolatedStorageFile.GetUserStoreForApplication(); IsolatedStorageFileStream pdfStream = new IsolatedStorageFileStream(fileName, FileMode.Create, fileStorage); outputStream.WriteTo(pdfStream); pdfStream.Flush(); pdfStream.Close(); MessageBox.Show("Sample completed with success. File " + fileName + " saved to isolated storage.", "Xfinium.Pdf Samples Explorer", MessageBoxButton.OK); } } }
partial void runSampleClick(NSObject sender) { SampleOutputInfo[] output = null; string contentPath = Path.Combine(NSBundle.MainBundle.BundlePath, "Support/"); string outputPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); switch (currentSample.ID) { case "actions": output = Xfinium.Pdf.Samples.Actions.Run(); break; case "annotations": FileStream flashInput = new FileStream(contentPath + "clock.swf", FileMode.Open, FileAccess.Read, FileShare.Read); FileStream u3dInput = new FileStream(contentPath + "airplane.u3d", FileMode.Open, FileAccess.Read, FileShare.Read); output = Xfinium.Pdf.Samples.Annotations.Run(flashInput, u3dInput); flashInput.Close(); u3dInput.Close(); break; case "barcodes": output = Xfinium.Pdf.Samples.Barcodes.Run(); break; case "batesnumbers": FileStream batesNumbersInput = new FileStream(contentPath + "content.pdf", FileMode.Open, FileAccess.Read, FileShare.Read); output = Xfinium.Pdf.Samples.BatesNumbers.Run(batesNumbersInput); batesNumbersInput.Close(); break; case "contentextraction": FileStream contentExtractionInput = new FileStream(contentPath + "content.pdf", FileMode.Open, FileAccess.Read, FileShare.Read); output = Xfinium.Pdf.Samples.ContentExtraction.Run(contentExtractionInput); contentExtractionInput.Close(); break; case "contentstream": output = Xfinium.Pdf.Samples.ContentStream.Run(); break; case "documentappend": FileStream file1Input = new FileStream(contentPath + "content.pdf", FileMode.Open, FileAccess.Read, FileShare.Read); FileStream file2Input = new FileStream(contentPath + "formfill.pdf", FileMode.Open, FileAccess.Read, FileShare.Read); output = Xfinium.Pdf.Samples.DocumentAppend.Run(file1Input, file2Input); file1Input.Close(); file2Input.Close(); break; case "documentincrementalupdate": File.Copy(contentPath + "content.pdf", outputPath + "/xfinium.pdf.sample.documentincrementalupdate.pdf", true); FileStream incrementalUpdateInput = new FileStream(outputPath + "/xfinium.pdf.sample.documentincrementalupdate.pdf", FileMode.Open, FileAccess.ReadWrite, FileShare.Read); output = Xfinium.Pdf.Samples.DocumentIncrementalUpdate.Run(incrementalUpdateInput); pdfFileName = "xfinium.pdf.sample.documentincrementalupdate.pdf"; incrementalUpdateInput.Flush(); incrementalUpdateInput.Close(); break; case "documentpagebypagesave": FileStream documentPageByPageSaveOutput = new FileStream(outputPath + "/xfinium.pdf.sample.documentpagebypagesave.pdf", FileMode.Create, FileAccess.ReadWrite, FileShare.Read); output = Xfinium.Pdf.Samples.DocumentPageByPageSave.Run(documentPageByPageSaveOutput); documentPageByPageSaveOutput.Flush(); documentPageByPageSaveOutput.Close(); pdfFileName = "xfinium.pdf.sample.documentpagebypagesave.pdf"; break; case "documentproperties": output = Xfinium.Pdf.Samples.DocumentProperties.Run(); break; case "documentsplit": FileStream splitInput = new FileStream(contentPath + "content.pdf", FileMode.Open, FileAccess.Read, FileShare.Read); output = Xfinium.Pdf.Samples.DocumentSplit.Run(splitInput); splitInput.Close(); break; case "encryption": FileStream encryptionInput = new FileStream(contentPath + "encrypted.pdf", FileMode.Open, FileAccess.Read, FileShare.Read); output = Xfinium.Pdf.Samples.Encryption.Run(encryptionInput); encryptionInput.Close(); break; case "fileattachments": FileStream attachmentStream1 = new FileStream(contentPath + "fileattachments_cs.html", FileMode.Open, FileAccess.Read, FileShare.Read); FileStream attachmentStream2 = new FileStream(contentPath + "fileattachments_vb.html", FileMode.Open, FileAccess.Read, FileShare.Read); output = Xfinium.Pdf.Samples.FileAttachments.Run(attachmentStream1, attachmentStream2); attachmentStream1.Close(); attachmentStream2.Close(); break; case "fonts": FileStream ttfStream = new FileStream(contentPath + "verdana.ttf", FileMode.Open, FileAccess.Read, FileShare.Read); output = Xfinium.Pdf.Samples.Fonts.Run(ttfStream); ttfStream.Close(); break; case "formattedcontent": output = Xfinium.Pdf.Samples.FormattedContent.Run(); break; case "formfill": FileStream formStream = new FileStream(contentPath + "formfill.pdf", FileMode.Open, FileAccess.Read, FileShare.Read); output = Xfinium.Pdf.Samples.FormFill.Run(formStream); formStream.Close(); break; case "formgenerator": output = Xfinium.Pdf.Samples.FormGenerator.Run(); break; case "grayscaleconversion": FileStream grayscaleConversionInput = new FileStream(contentPath + "content.pdf", FileMode.Open, FileAccess.Read, FileShare.Read); output = Xfinium.Pdf.Samples.GrayscaleConversion.Run(grayscaleConversionInput); grayscaleConversionInput.Close(); break; case "images": FileStream imageStream = new FileStream(contentPath + "image.jpg", FileMode.Open, FileAccess.Read, FileShare.Read); FileStream cmykImageStream = new FileStream(contentPath + "cmyk.tif", FileMode.Open, FileAccess.Read, FileShare.Read); FileStream softMaskStream = new FileStream(contentPath + "softmask.png", FileMode.Open, FileAccess.Read, FileShare.Read); FileStream stencilMaskStream = new FileStream(contentPath + "stencilmask.png", FileMode.Open, FileAccess.Read, FileShare.Read); output = Xfinium.Pdf.Samples.Images.Run(imageStream, cmykImageStream, softMaskStream, stencilMaskStream); imageStream.Close(); cmykImageStream.Close(); softMaskStream.Close(); stencilMaskStream.Close(); break; case "measurements": output = Xfinium.Pdf.Samples.Measurements.Run(); break; case "optionalcontent": output = Xfinium.Pdf.Samples.OptionalContent.Run(); break; case "optionalcontentextraction": FileStream oceInput = new FileStream(contentPath + "content.pdf", FileMode.Open, FileAccess.Read, FileShare.Read); output = Xfinium.Pdf.Samples.OptionalContentExtraction.Run(oceInput); oceInput.Close(); break; case "outlines": output = Xfinium.Pdf.Samples.Outlines.Run(); break; case "pageimposition": FileStream pageImpositionInput = new FileStream(contentPath + "content.pdf", FileMode.Open, FileAccess.Read, FileShare.Read); output = Xfinium.Pdf.Samples.PageImposition.Run(pageImpositionInput); pageImpositionInput.Close(); break; case "pageobjects": FileStream pageObjectsInput = new FileStream(contentPath + "pageobjects.pdf", FileMode.Open, FileAccess.Read, FileShare.Read); output = Xfinium.Pdf.Samples.PageObjects.Run(pageObjectsInput); pageObjectsInput.Close(); break; case "pdfa": FileStream pdfaIccInput = new FileStream(contentPath + "rgb.icc", FileMode.Open, FileAccess.Read, FileShare.Read); FileStream pdfaTtfInput = new FileStream(contentPath + "verdana.ttf", FileMode.Open, FileAccess.Read, FileShare.Read); output = Xfinium.Pdf.Samples.PDFA.Run(pdfaIccInput, pdfaTtfInput); pdfaIccInput.Close(); pdfaTtfInput.Close(); break; case "portfolios": FileStream imagesStream = new FileStream(contentPath + "image.jpg", FileMode.Open, FileAccess.Read, FileShare.Read); FileStream pdfStream = new FileStream(contentPath + "content.pdf", FileMode.Open, FileAccess.Read, FileShare.Read); FileStream csStream = new FileStream(contentPath + "portfolios_cs.html", FileMode.Open, FileAccess.Read, FileShare.Read); FileStream vbStream = new FileStream(contentPath + "portfolios_vb.html", FileMode.Open, FileAccess.Read, FileShare.Read); output = Xfinium.Pdf.Samples.Portfolios.Run(imagesStream, pdfStream, csStream, vbStream); imagesStream.Close(); pdfStream.Close(); csStream.Close(); vbStream.Close(); break; case "redaction": FileStream redactionStream = new FileStream(contentPath + "content.pdf", FileMode.Open, FileAccess.Read, FileShare.Read); output = Xfinium.Pdf.Samples.Redaction.Run(redactionStream); redactionStream.Close(); break; case "removereplaceimages": FileStream removeReplaceImagesInput = new FileStream(contentPath + "content.pdf", FileMode.Open, FileAccess.Read, FileShare.Read); output = Xfinium.Pdf.Samples.RemoveReplaceImages.Run(removeReplaceImagesInput); removeReplaceImagesInput.Close(); break; case "searchtext": FileStream searchTextInput = new FileStream(contentPath + "content.pdf", FileMode.Open, FileAccess.Read, FileShare.Read); output = Xfinium.Pdf.Samples.SearchText.Run(searchTextInput); searchTextInput.Close(); break; case "svgtopdf": FileStream svgInput = new FileStream(contentPath + "tiger.svg", FileMode.Open, FileAccess.Read, FileShare.Read); output = Xfinium.Pdf.Samples.SvgToPdf.Run(svgInput); svgInput.Close(); break; case "text": output = Xfinium.Pdf.Samples.Text.Run(); break; case "tifftopdf": FileStream tiffStream = new FileStream(contentPath + "sample.tif", FileMode.Open, FileAccess.Read, FileShare.Read); output = Xfinium.Pdf.Samples.TiffToPdf.Run(tiffStream); tiffStream.Close(); break; case "type3fonts": output = Xfinium.Pdf.Samples.Type3Fonts.Run(); break; case "vectorgraphics": FileStream iccStream = new FileStream(contentPath + "rgb.icc", FileMode.Open, FileAccess.Read, FileShare.Read); output = Xfinium.Pdf.Samples.VectorGraphics.Run(iccStream); iccStream.Close(); break; case "watermarks": FileStream watermarksInput = new FileStream(contentPath + "content.pdf", FileMode.Open, FileAccess.Read, FileShare.Read); output = Xfinium.Pdf.Samples.Watermarks.Run(watermarksInput); watermarksInput.Close(); break; } if (output != null) { if (currentSample.ID == "pdfa") { PdfAFormatter.Save(output[0].Document as PdfFixedDocument, outputPath + "/" + output[0].FileName, PdfAFormat.PdfA1b); } else { for (int i = 0; i < output.Length; i++) { output[i].Document.Save(outputPath + "/" + output[i].FileName); } } pdfFileName = output[0].FileName; UIAlertView messageBox = new UIAlertView("XFINIUM.PDF", "Sample completed with success", null, "Close", "View PDF"); messageBox.Clicked += HandleClicked; messageBox.Show(); } }