Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
يمكن العثور على النموذج واستبدال النص باستخدام مقتطف الشيفرة التالي:
private static void ReplaceTextInPdfForm()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Forms();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "TextBox.pdf"))
{
// Get the forms from the first page
var forms = document.Pages[1].Resources.Forms;
foreach (var form in forms)
{
// Check if the form is of type "Typewriter" and subtype "Form"
if (form.IT == "Typewriter" && form.Subtype == "Form")
{
// Create a TextFragmentAbsorber to find text fragments
var absorber = new Aspose.Pdf.Text.TextFragmentAbsorber();
absorber.Visit(form);
// Clear the text in each fragment
foreach (var fragment in absorber.TextFragments)
{
fragment.Text = "";
}
}
}
// Save PDF document
document.Save(dataDir + "TextBox_out.pdf");
}
}
أو، يمكن إزالة النموذج بالكامل:
private static void DeleteSpecifiedForm1()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Forms();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "TextField.pdf"))
{
// Get the forms from the first page
var forms = document.Pages[1].Resources.Forms;
// Iterate through the forms and delete the ones with type "Typewriter" and subtype "Form"
for (int i = forms.Count; i > 0; i--)
{
if (forms[i].IT == "Typewriter" && forms[i].Subtype == "Form")
{
forms.Delete(forms[i].Name);
}
}
// Save PDF document
document.Save(dataDir + "TextBox_out.pdf");
}
}
نسخة أخرى من إزالة النموذج:
private static void DeleteSpecifiedForm2()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Forms();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "TextField.pdf"))
{
// Get the forms from the first page
var forms = document.Pages[1].Resources.Forms;
// Iterate through the forms and delete the ones with type "Typewriter" and subtype "Form"
foreach (var form in forms)
{
if (form.IT == "Typewriter" && form.Subtype == "Form")
{
var name = forms.GetFormName(form);
forms.Delete(name);
}
}
// Save PDF document
document.Save(dataDir + "TextBox_out.pdf");
}
}
private static void RemoveAllForms()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Forms();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "TextField.pdf"))
{
// Get the forms from the first page
var forms = document.Pages[1].Resources.Forms;
// Clear all forms
forms.Clear();
// Save PDF document
document.Save(dataDir + "TextBox_out.pdf");
}
}
private static void ConvertPDFtoMarkup()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "demo.pdf"))
{
// Create an instance of MarkdownSaveOptions to configure the Markdown export settings
var saveOptions = new MarkdownSaveOptions()
{
// Set to false to prevent the use of HTML <img> tags for images in the Markdown output
UseImageHtmlTag = false
};
// Specify the directory name where resources (like images) will be stored
saveOptions.ResourcesDirectoryName = "images";
// Save PDF document in Markdown format to the specified output file path using the defined save options
document.Save(dataDir + "PDFtoMarkup_out.md", saveOptions);
}
}
private static void ConvertOFDToPDF()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion();
// Convert options
var options = new Aspose.Pdf.OfdLoadOptions();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "ConvertOFDToPDF.ofd", options))
{
// Save PDF document
document.Save(dataDir + "ConvertOFDToPDF_out.pdf");
}
}
من هذا الإصدار تمت إضافة مكون Merger:
private static void PdfMergeUsingPlugin()
{
string dataDir = RunExamples.GetDataDir_AsposePdf_Pages();
// Create annotation new instance of Merger
using (var merger = new Aspose.Pdf.Plugins.Merger())
{
// Create MergeOptions
var opt = new Aspose.Pdf.Plugins.MergeOptions();
opt.AddInput(new Aspose.Pdf.Plugins.FileDataSource(dataDir + "Concat1.pdf"));
opt.AddInput(new Aspose.Pdf.Plugins.FileDataSource(dataDir + "Concat2.pdf"));
opt.AddOutput(new Aspose.Pdf.Plugins.FileDataSource(dataDir + "ConcatenatePdfFiles_out.pdf"));
// Process the PDF merging
merger.Process(opt);
}
}
أيضًا، من هذا الإصدار تمت إضافة مكون ChatGPT:
private static async void InvokeChatGptPlugin()
{
using (var plugin = new Aspose.Pdf.Plugins.PdfChatGpt())
{
var options = new Aspose.Pdf.Plugins.PdfChatGptRequestOptions();
options.AddOutput(new Aspose.Pdf.Plugins.FileDataSource("PdfChatGPT_output.pdf")); // Add the output file path.
options.ApiKey = "Your API key."; // You need to provide the key to access the API.
options.MaxTokens = 1000; // The maximum number of tokens to generate in the chat completion.
// Add the request messages.
options.Messages.Add(new Aspose.Pdf.Plugins.Message
{
Content = "You are an annotation helpful assistant.",
Role = Aspose.Pdf.Plugins.Role.System
});
options.Messages.Add(new Aspose.Pdf.Plugins.Message
{
Content = "What is the biggest pizza diameter ever made?",
Role = Aspose.Pdf.Plugins.Role.User
});
// Process the request.
var result = await plugin.ProcessAsync(options);
var fileResultPath = result.ResultCollection[0].Data;
// The ChatGPT API chat completion object.
var chatCompletionObject = result.ResultCollection[1].Data as Aspose.Pdf.Plugins.ChatCompletion;
}
}
من هذا الإصدار يمكن إزالة النص المخفي من ملف PDF:
private static void RemoveHiddenText()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Text();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "HiddenText.pdf"))
{
// Use TextFragmentAbsorber with no parameters to get all text
var textAbsorber = new Aspose.Pdf.Text.TextFragmentAbsorber();
// This option can be used to prevent other text fragments from moving after hidden text replacement
textAbsorber.TextReplaceOptions = new Aspose.Pdf.Text.TextReplaceOptions(Aspose.Pdf.Text.TextReplaceOptions.ReplaceAdjustment.None);
document.Pages.Accept(textAbsorber);
// Remove hidden text
foreach (var fragment in textAbsorber.TextFragments)
{
if (fragment.TextState.Invisible)
{
fragment.Text = "";
}
}
// Save PDF document
document.Save(dataDir + "HiddenText_out.pdf");
}
}
منذ 23.11 دعم لقطع الخيوط:
private static void InterruptExample()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_WorkingDocuments();
using (var monitor = new Aspose.Pdf.Multithreading.InterruptMonitor())
{
// A class that can produce long-drawn-out work
RowSpanWorker worker = new RowSpanWorker(dataDir + "RowSpanWorker_out.pdf", monitor);
var thread = new System.Threading.Thread(new System.Threading.ThreadStart(worker.Work));
thread.Start();
// The timeout should be less than the time required for full document save (without interruption)
System.Threading.Thread.Sleep(500);
// Interrupt the process
monitor.Interrupt();
// Wait for interruption...
thread.Join();
}
}
private class RowSpanWorker
{
private readonly string outputPath;
private readonly Aspose.Pdf.Multithreading.InterruptMonitor monitor;
public RowSpanWorker(string outputPath, Aspose.Pdf.Multithreading.InterruptMonitor monitor)
{
this.outputPath = outputPath;
this.monitor = monitor;
}
public void Work()
{
// This is some large text, used Lorem Ipsum in 10000 characters to cause suspension in processing
string text = RunExamples.GetLoremIpsumString(10000);
// Open PDF document
using (var document = new Aspose.Pdf.Document())
{
Aspose.Pdf.Multithreading.InterruptMonitor.ThreadLocalInstance = this.monitor;
var page = document.Pages.Add();
var table = new Aspose.Pdf.Table
{
DefaultCellBorder = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, 0.1F)
};
var row0 = table.Rows.Add();
// Add annotation cell that spans for two rows and contains annotation long-long text
var cell00 = row0.Cells.Add(text);
cell00.RowSpan = 2;
cell00.IsWordWrapped = true;
row0.Cells.Add("Ipsum Ipsum Ipsum Ipsum Ipsum Ipsum ");
row0.Cells.Add("Dolor Dolor Dolor Dolor Dolor Dolor ");
var row1 = table.Rows.Add();
row1.Cells.Add("IpsumDolor Dolor Dolor Dolor Dolor ");
row1.Cells.Add("DolorDolor Dolor Dolor Dolor Dolor ");
page.Paragraphs.Add(table);
try
{
// Save PDF document
document.Save(this.outputPath);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}
}
التحديث الحالي يقدم ثلاث نسخ من إزالة العلامات من ملفات PDF المعنونة.
private static void RemoveStructElement()
{
var dataDir = RunExamples.GetDataDir_AsposePdf_WorkingDocuments();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "StructureElementsTree.pdf"))
{
// Access to root element(s)
var structure = document.LogicalStructure;
var documentElement = structure.Children[0];
var structElement = documentElement.Children.Count > 1 ? documentElement.Children[1] as Aspose.Pdf.Structure.StructElement : null;
if (documentElement.Children.Remove(structElement))
{
// Element removed. Save PDF document.
document.Save(dataDir + "StructureElementsRemoved.pdf");
}
// You can also delete the structElement itself
//if (structElement != null)
//{
// structElement.Remove();
// document.Save(outputPdfPath);
//}
}
}
private static void RemoveMarkedElementsTags()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_WorkingDocuments();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "TH.pdf"))
{
// Access to root element(s)
var structure = document.LogicalStructure;
var root = structure.Children[0];
var queue = new Queue<Aspose.Pdf.Structure.Element>();
queue.Enqueue(root);
while (queue.TryDequeue(out var element))
{
foreach (var child in element.Children)
{
queue.Enqueue(child);
}
if (element is Aspose.Pdf.Structure.TextElement || element is Aspose.Pdf.Structure.FigureElement)
{
element.Remove();
}
}
// Save PDF document
document.Save(dataDir + "MarkedElementsTagsRemoved.pdf");
}
}
private static void RemoveTags()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_WorkingDocuments();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "TH.pdf"))
{
// Access to root element(s)
var structure = document.LogicalStructure;
var documentElement = structure.Children[0];
documentElement.Remove();
// Save PDF document
document.Save(dataDir + "TagsRemoved.pdf");
}
}
منذ 23.10 تم تنفيذ ميزة جديدة لقياس ارتفاع الحرف. استخدم الشيفرة التالية لقياس ارتفاع حرف.
private static void DisplayCharacterHeight()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Text();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "ExtractTextAll.pdf"))
{
// Create TextFragmentAbsorber to get information about state of document text
var absorber = new Aspose.Pdf.Text.TextFragmentAbsorber();
absorber.Visit(document.Pages[1]);
// Get height of 'A' character being displayed with font of first text fragment
var textState = absorber.TextFragments[1].TextState;
var height = textState.MeasureHeight('A');
Console.WriteLine("The height of 'A' character displayed with {0} font size of {1} is {2:N3}", textState.Font.FontName, textState.FontSize,height);
}
}
لاحظ أن القياس يعتمد على الخط المضمن في الوثيقة. إذا كانت أي معلومات عن بعد مفقودة، فإن هذه الطريقة تعيد 0.
أيضًا، يوفر هذا الإصدار توقيع PDF باستخدام HASH موقع:
private static void SignPdfUsingSignedHash(string certP12, string pfxPassword)
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_SecuritySignatures();
// Instantiate PdfFileSignature object
using (var sign = new Aspose.Pdf.Facades.PdfFileSignature())
{
// Bind PDF document
sign.BindPdf(dataDir + "input.pdf");
var pkcs7 = new Aspose.Pdf.Forms.PKCS7(certP12, pfxPassword);
// Create a delegate to external sign
pkcs7.CustomSignHash = delegate (byte[] signableHash, Aspose.Pdf.DigestHashAlgorithm digestHashAlgorithm)
{
X509Certificate2 signerCert = new X509Certificate2(certP12, pfxPassword, X509KeyStorageFlags.Exportable);
RSACryptoServiceProvider rsaCSP = new RSACryptoServiceProvider();
var xmlString = signerCert.PrivateKey.ToXmlString(true); //not supported on core 2.0
rsaCSP.FromXmlString(xmlString); //not supported on core 2.0
byte[] signedData = rsaCSP.SignHash(signableHash, CryptoConfig.MapNameToOID("SHA1"));
return signedData;
};
// Sign PDF file
sign.Sign(1, "reason", "cont", "loc", false, new System.Drawing.Rectangle(0, 0, 500, 500), pkcs7);
// Save PDF document
sign.Save(dataDir + "SignWithCertificate_out.pdf");
}
// Verify
using (var sign = new Aspose.Pdf.Facades.PdfFileSignature())
{
// Bind PDF document
sign.BindPdf(dataDir + "SignWithCertificate_out.pdf");
if (!sign.VerifySignature("Signature1"))
{
throw new Exception("Not verified");
}
}
}
ميزة جديدة أخرى هي إعدادات طباعة مربع الحوار لتكبير الصفحة:
private static void SetPrintScaling()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdfFacades_Printing();
// Create PDF document
using (var document = new Aspose.Pdf.Document())
{
// Add page
document.Pages.Add();
// Disable print scaling
document.PrintScaling = PrintScaling.None;
// Save PDF document
document.Save(dataDir + "SetPrintScaling_out.pdf");
}
}
منذ 23.9 دعم لإزالة تعليق فرعي من حقل قابل للتعبئة.
private static void RemoveChildAnnotationFromFillableField()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Forms();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "FieldWithChildAnnots.pdf"))
{
// Get field with child annotations
var field = (Aspose.Pdf.Forms.Field)document.Form["1 Vehicle Identification Number"];
// Get first child annotation
var annotation = field[1];
// Remove the annotation
document.Pages[annotation.PageIndex].Annotations.Remove(annotation);
// Save PDF document
document.Save(dataDir + "RemoveChildAnnotation_out.pdf");
}
}
منذ 23.8، دعم لإضافة كشف التحديثات التزايدية.
تمت إضافة وظيفة لكشف التحديثات التزايدية في مستند PDF. تعيد هذه الوظيفة ’true’ إذا تم حفظ مستند مع تحديثات تزايدية؛ وإلا، تعيد ‘false’.
private static bool HasIncrementalUpdate()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_WorkingDocuments();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "PdfWithIncrementalUpdate.pdf"))
{
// New method
bool hasIncrementalUpdate = document.HasIncrementalUpdate();
Console.WriteLine("Document {0} incremental update check returns: {1}", document.FileName, hasIncrementalUpdate);
return hasIncrementalUpdate;
}
}
أيضًا، 23.8 تدعم طرق العمل مع حقول خانة الاختيار المتداخلة. تحتوي العديد من نماذج PDF القابلة للتعبئة على حقول خانة اختيار تعمل كمجموعات راديو:
private static void CreateMultivalueCheckboxField()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Forms();
// Create PDF document
using (var document = new Aspose.Pdf.Document())
{
var page = document.Pages.Add();
var checkbox = new Aspose.Pdf.Forms.CheckboxField(page, new Aspose.Pdf.Rectangle(50, 50, 70, 70));
// Set the first checkbox group option value
checkbox.ExportValue = "option 1";
// Add new option right under existing ones
checkbox.AddOption("option 2");
// Add new option at the given rectangle
checkbox.AddOption("option 3", new Aspose.Pdf.Rectangle(100, 100, 120, 120));
document.Form.Add(checkbox);
// Select the added checkbox
checkbox.Value = "option 2";
// Save PDF document
document.Save(dataDir + "MultivalueCheckboxField.pdf");
}
}
private static void GetAndSetValueOfMultivalueCheckboxField()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Forms();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "MultivalueCheckboxField.pdf"))
{
var form = document.Form;
var checkbox = form.Fields[0] as Aspose.Pdf.Forms.CheckboxField;
// Allowed values may be retrieved from the AllowedStates collection
// Set the checkbox value using Value property
checkbox.Value = checkbox.AllowedStates[0];
var checkboxValue = checkbox.Value; // the previously set value, e.g. "option 1"
// The value should be any element of AllowedStates
checkbox.Value = "option 2";
checkboxValue = checkbox.Value; // option 2
// Uncheck boxes by either setting Value to "Off" or setting Checked to false
checkbox.Value = "Off";
// or, alternately:
// checkbox.Checked = false;
checkboxValue = checkbox.Value; // Off
}
}
من Aspose.PDF 23.7 دعم لإضافة استخراج الشكل:
private static void CopyShape()
{
// The path to the document directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Graphs();
// Open PDF document
using (var sourceDocument = new Aspose.Pdf.Document(dataDir + "test.pdf"))
{
// Create PDF document
using (var destDocument = new Aspose.Pdf.Document())
{
// Absorb vector graphics from the source document
var graphicAbsorber = new Aspose.Pdf.Vector.GraphicsAbsorber();
graphicAbsorber.Visit(sourceDocument.Pages[1]);
// Copy the graphics into the destination document specified page and area
var area = new Aspose.Pdf.Rectangle(90, 250, 300, 400);
destDocument.Pages[1].AddGraphics(graphicAbsorber.Elements, area);
// Save PDF document
destDocument.Save(dataDir + "CopyShape_out.pdf");
}
}
}
أيضًا يدعم القدرة على كشف Overflow عند إضافة نص:
private static void FitTextIntoRectangle()
{
// The path to the document directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Text();
// Create PDF document
using (var document = new Aspose.Pdf.Document())
{
// Generate text to add: "Lorem Ipsum" text of 1000 characters
var paragraphContent = RunExamples.GetLoremIpsumString(1000);
// Create a text fragment with the desired text
var fragment = new Aspose.Pdf.Text.TextFragment(paragraphContent);
// Declare the rectangle to fit text into
var rectangle = new Aspose.Pdf.Rectangle(100, 600, 500, 700, false);
// Check whether the text fits into the rectangle
var isFitRectangle = fragment.TextState.IsFitRectangle(paragraphContent, rectangle);
// Iteratively decrease font size until text fits the rectangle
while (!isFitRectangle)
{
fragment.TextState.FontSize -= 0.5f;
isFitRectangle = fragment.TextState.IsFitRectangle(paragraphContent, rectangle);
}
// Create a paragraph from the text fragment in the specified rectangle. Now you may be sure it fits.
var paragraph = new Aspose.Pdf.Text.TextParagraph();
paragraph.VerticalAlignment = Aspose.Pdf.VerticalAlignment.Top;
paragraph.FormattingOptions.WrapMode = Aspose.Pdf.Text.TextFormattingOptions.WordWrapMode.ByWords;
paragraph.Rectangle = rectangle;
paragraph.AppendLine(fragment);
// Create a text builder to place the paragraph on the document page
var builder = new Aspose.Pdf.Text.TextBuilder(document.Pages.Add());
builder.AppendParagraph(paragraph);
// Save PDF document
document.Save(dataDir + "FitTextIntoRectangle_out.pdf");
}
}
من Aspose.PDF 23.6 دعم لإضافة المكونات التالية:
تحديث Aspose.PdfForm
أيضًا دعم إضافة القدرة على تعيين عنوان HTML، صفحة Epub:
private static void SetHtmlTitle()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "PDFToHTML.pdf"))
{
var options = new Aspose.Pdf.HtmlSaveOptions
{
ExplicitListOfSavedPages = new[] { 1 },
SplitIntoPages = false,
FixedLayout = true,
CompressSvgGraphicsIfAny = false,
SaveTransparentTexts = true,
SaveShadowedTextsAsTransparentTexts = true,
FontSavingMode = Aspose.Pdf.HtmlSaveOptions.FontSavingModes.AlwaysSaveAsWOFF,
RasterImagesSavingMode = Aspose.Pdf.HtmlSaveOptions.RasterImagesSavingModes.AsEmbeddedPartsOfPngPageBackground,
PartsEmbeddingMode = Aspose.Pdf.HtmlSaveOptions.PartsEmbeddingModes.EmbedAllIntoHtml,
// New property
Title = "Title for page"
};
// Save HTML document
document.Save(dataDir + "SetHtmlTitle_out.html", options);
}
}
منذ 23.5 دعم لإضافة خيار FontSize لـ RedactionAnnotation. استخدم مقتطف الشيفرة التالي لحل هذه المهمة:
private static void AddRedactionAnnotationFontSize()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Annotations();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "input.pdf"))
{
// Create RedactionAnnotation instance for specific page region
var annot = new Aspose.Pdf.Annotations.RedactionAnnotation(document.Pages[1],
new Aspose.Pdf.Rectangle(367, 756.919982910156, 420, 823.919982910156));
annot.FillColor = Aspose.Pdf.Color.Black;
annot.BorderColor = Aspose.Pdf.Color.Yellow;
annot.Color = Aspose.Pdf.Color.Blue;
// Text to be printed on redact annotation
annot.OverlayText = "(Unknown)";
annot.TextAlignment = Aspose.Pdf.HorizontalAlignment.Center;
// Repeat Overlay text over redact Annotation
annot.Repeat = false;
// New property
annot.FontSize = 20;
// Add annotation to annotations collection of first page
document.Pages[1].Annotations.Add(annot);
// Flattens annotation and redacts page contents (i.e. removes text and image under redacted annotation)
annot.Redact();
// Save PDF document
document.Save(dataDir + "AddRedactionAnnotationFontSize_out.pdf");
}
}
أعلنت Aspose.PDF عن إصدار .NET 7 SDK.
من Aspose.PDF 23.3 دعم لإضافة المكونات التالية:
قدمت النسخة 23.3 دعمًا للحفاظ على نسب الصورة والدقة أثناء الإدراج على الصفحة. يمكن استخدام طريقتين لحل هذه المشكلة:
private static void InsertImageWithNativeResolutionAsTable()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Images();
// Create PDF document
using (var document = new Aspose.Pdf.Document())
{
var page = document.Pages.Add();
var table = new Aspose.Pdf.Table
{
ColumnWidths = "600"
};
for (var j = 0; j < 2; j++)
{
var row = table.Rows.Add();
var cell = row.Cells.Add();
cell.Paragraphs.Add(new Aspose.Pdf.Image()
{
IsApplyResolution = true,
File = dataDir + "Image1.jpg"
});
}
page.Paragraphs.Add(table);
// Save PDF document
document.Save(dataDir + "ImageWithNativeResolutionAsTable_out.pdf");
}
}
والنهج الثاني:
private static void InsertImageWithNativeResolutionAsParagraph()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Images();
// Create PDF document
using (var document = new Aspose.Pdf.Document())
{
var page = document.Pages.Add();
for (var j = 0; j < 2; j++)
{
page.Paragraphs.Add(new Aspose.Pdf.Image()
{
IsApplyResolution = true,
File = dataDir + "Image1.jpg"
});
}
// Save PDF document
document.Save(dataDir + "ImageWithNativeResolutionAsParagraph_out.pdf");
}
}
سيتم وضع الصورة في حجم مقاس ومعدل دقة أصلي. يمكنك تعيين خصائص FixedWidth أو FixedHeight بالاشتراك مع IsApplyResolution.
من Aspose.PDF 23.1.1 دعم لإضافة المكونات التالية:
منذ الإصدار 23.1، دعم لإنشاء تعليقات PrinterMark.
علامات الطابعة هي رموز رسومية أو نصوص تُضاف إلى صفحة لمساعدة موظفي الإنتاج في تحديد مكونات وظيفة متعددة الألواح والحفاظ على إنتاج متسق أثناء الإنتاج. تشمل الأمثلة الشائعة المستخدمة في صناعة الطباعة:
سنظهر مثالًا على الخيار مع أشرطة الألوان لقياس الألوان وكثافات الحبر. هناك فئة مجردة أساسية PrinterMarkAnnotation ومن ثم فئة فرعية ColorBarAnnotation - التي تنفذ بالفعل هذه الشرائط. دعونا نتحقق من المثال:
private static void AddPrinterMarkAnnotation()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Annotations();
// Create PDF document
using (var document = new Aspose.Pdf.Document())
{
var page = document.Pages.Add();
page.TrimBox = new Aspose.Pdf.Rectangle(20, 20, 580, 820);
var rectBlack = new Aspose.Pdf.Rectangle(100, 300, 300, 320);
var rectCyan = new Aspose.Pdf.Rectangle(200, 600, 260, 690);
var rectMagenta = new Aspose.Pdf.Rectangle(10, 650, 140, 670);
var colorBarBlack = new Aspose.Pdf.Annotations.ColorBarAnnotation(page, rectBlack);
var colorBarCyan = new Aspose.Pdf.Annotations.ColorBarAnnotation(page, rectCyan,
Aspose.Pdf.Annotations.ColorsOfCMYK.Cyan);
var colorBarMagenta = new Aspose.Pdf.Annotations.ColorBarAnnotation(page, rectMagenta);
colorBarMagenta.ColorOfCMYK = Aspose.Pdf.Annotations.ColorsOfCMYK.Magenta;
var colorBarYellow = new Aspose.Pdf.Annotations.ColorBarAnnotation(page,
new Aspose.Pdf.Rectangle(400, 250, 450, 700), Aspose.Pdf.Annotations.ColorsOfCMYK.Yellow);
page.Annotations.Add(colorBarBlack);
page.Annotations.Add(colorBarCyan);
page.Annotations.Add(colorBarMagenta);
page.Annotations.Add(colorBarYellow);
// Save PDF document
document.Save(dataDir + "PrinterMarkAnnotation_out.pdf");
}
}
أيضًا دعم استخراج الصور المتجهة. حاول استخدام الشيفرة التالية لاكتشاف واستخراج الرسومات المتجهة:
private static void SavePdfVectorGraphicToSvg()
{
// The path to the document directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Graphs();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "test.pdf"))
{
// Attempt to save the vector graphics into a specified SVG file
document.Pages[1].TrySaveVectorGraphics(dataDir + "PdfVectorGraphicToSvg.svg");
}
}
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.