Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Слои PDF позволяют документу PDF содержать различные наборы содержимого, которые можно выборочно просматривать или скрывать. Каждый слой в PDF может включать текст, изображения или графику, и пользователи могут включать или отключать эти слои в зависимости от своих потребностей. Слои часто используются в сложных документах, где необходимо упорядочить или разделить различное содержимое.
С помощью Aspose.PDF for .NET вы можете открыть PDF-файл, заблокировать определённый слой на первой странице и сохранить документ с изменениями.
Эта функция была реализована начиная с версии 24.5.
Были добавлены два новых метода и одно свойство:
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void LockLayerInPDF()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Layers();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "input.pdf"))
{
// Get the first page and the first layer
var page = document.Pages[1];
var layer = page.Layers[0];
// Lock the layer
layer.Lock();
// Save PDF document
document.Save(dataDir + "LockLayerInPDF_out.pdf");
}
}
Библиотека Aspose.PDF for .NET позволяет извлекать каждый слой из первой страницы и сохранять каждый слой в отдельный файл.
Чтобы создать новый PDF-файл из слоя, можно использовать следующий фрагмент кода:
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void SaveLayersFromPdf()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Forms();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "input.pdf"))
{
// Get layers from the first page
var layers = document.Pages[1].Layers;
// Save each layer to the output path
foreach (var layer in layers)
{
layer.Save(dataDir + "Layers_out.pdf");
}
}
}
В выпуске 24.9 эта функция была обновлена.
Можно извлечь элементы слоя PDF и сохранить их в новом потоке PDF-файлов:
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void SaveLayersToOutputStream(Stream outputStream)
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Forms();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "input.pdf"))
{
// Get layers from the first page
var layers = document.Pages[1].Layers;
// Save each layer to the output stream
foreach (var layer in layers)
{
layer.Save(outputStream);
}
}
}
Библиотека Aspose.PDF for .NET открывает PDF-файл, перебирает каждый слой на первой странице и выравнивает каждый слой, делая его постоянным на странице.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void FlattenLayersInPdf()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Forms();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "input.pdf"))
{
// Get the first page
var page = document.Pages[1];
// Flatten each layer on the page
foreach (var layer in page.Layers)
{
layer.Flatten(true);
}
}
}
Метод ‘Layer.Flatten(bool cleanupContentStream)’ принимает логический параметр, который указывает, следует ли удалять необязательные маркеры группы содержимого из потока содержимого. Установка параметра cleanupContentStream в значение false ускоряет процесс выравнивания.
Библиотека Aspose.PDF for .NET позволяет объединить либо все слои PDF, либо конкретный слой на первой странице в новый слой и сохраняет обновлённый документ.
Для объединения всех слоёв на странице были добавлены два метода:
Второй параметр позволяет переименовать необязательный маркер группы содержимого. Значение по умолчанию — «oc1» (/OC /oc1 BDC).
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void MergeLayersInPdf(string newLayerName, string optionalLayerName = null)
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Forms();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "input.pdf"))
{
// Get the first page
var page = document.Pages[1];
// Merge layers with a new layer name
if (optionalLayerName != null)
{
page.MergeLayers(newLayerName, optionalLayerName);
}
else
{
page.MergeLayers(newLayerName);
}
// Save PDF document
document.Save(dataDir + "MergeLayersInPdf_out.pdf");
}
}
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.