Trabalhar com camadas PDF usando Java

Aspose.PDF for Java expõe camadas de PDF através da API Layer em cada página. Você pode criar grupos de conteúdo opcional, modificar seu comportamento e exportar ou achatar seu conteúdo quando necessário.

Adicionar camadas a uma página PDF

  1. Crie um novo documento PDF Document.
  2. Adicione um Page ao documento.
  3. Crie e configure o necessário objetos Layer na página.
  4. Salve o PDF de saída Document.
public static void addLayers(Path outputFile) {
    try (Document document = new Document()) {
        Page page = document.getPages().add();

        Layer layer = new Layer("oc1", "Red Line");
        layer.getContents().add(new SetRGBColorStroke(1, 0, 0));
        layer.getContents().add(new MoveTo(500, 700));
        layer.getContents().add(new LineTo(400, 700));
        layer.getContents().add(new Stroke());
        page.getLayers().add(layer);

        document.save(outputFile.toString());
    }
}

O exemplo completo cria três camadas separadas com conteúdo de linhas vermelha, verde e azul.

Bloquear uma camada

  1. Abra o PDF de origem em um objeto Document.
  2. Acesse a página de destino Page e obtenha seu Layer coleção.
  3. Bloqueie o alvo Layer.
  4. Salve o PDF atualizado Document.
public static void lockLayer(Path inputFile, Path outputFile) {
    try (Document document = new Document(inputFile.toString())) {
        Page page = document.getPages().get_Item(1);
        if (!page.getLayers().isEmpty()) {
            Layer layer = page.getLayers().getFirst();
            layer.lock();
            document.save(outputFile.toString());
        }
    }
}