PDF annoteren

Deze blog is een vervolg op onze vorige blog waarin we een aantal interessante functies van Aspose.PDF Cloud SDK voor Java hebben uitgelicht over het toevoegen van Markeer of Doorstreep Tekst, en het toevoegen van Lijn of Cirkel Annotaties in PDF met behulp van Java REST API. In dit artikel gaan we met name de details bespreken over het toevoegen van Tekst, Polylijn, Squiggly en Bijlage Annotaties in PDF documenten met behulp van Java programmeertaal.

Aspose.PDF Cloud is een REST API waarmee gebruikers bestaande PDF-bestanden kunnen maken, bewerken en renderen naar andere ondersteunde documentformaten. De Cloud API is toegankelijk via de volgende twee benaderingen:

  • Toegang tot de API via cURL-opdrachten
  • Toegang tot de API in de Java-programmeertaal

Laten we verder ingaan op het toevoegen van verschillende annotaties aan PDF-documenten met behulp van cURL-opdrachten en Java-code.

Annotaties toevoegen met behulp van de cURL-opdracht

De cURL-opdrachten zijn een van de gemakkelijkste en coolste manieren om toegang te krijgen tot de REST API’s. Laten we het dus hebben over het toevoegen van de verschillende annotaties met behulp van de cURL-opdrachten. Houd er rekening mee dat elke API u ook toegang geeft tot de cloudopslag waar bestanden kunnen worden opgeslagen voor verwerking. Om de integriteit van de gegevens te garanderen, zijn onze API’s alleen toegankelijk voor geautoriseerde personen. Daarom moet u eerst naar Aspose.Cloud dashboard gaan en als u een GitHub- of Google-account hebt, hoeft u zich alleen maar aan te melden. Klik anders op de knop Maak een nieuw account en geef de vereiste informatie op. Meld u nu aan bij het dashboard met behulp van referenties, vouw de sectie Toepassingen uit op het dashboard en scrol omlaag naar de sectie Clientreferenties om de details van de Client-ID en Clientgeheim te zien.

De volgende stap is het genereren van een JSON Web Token (JWT), zodat de API’s toegankelijk zijn via de opdrachtprompt.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=7042694c-5251-4aba-83c9-e81e7518724f&client_secret=db246d4742e8cd22e7266c9391992689" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Tekstannotatie

Een tekstannotatie is een annotatie die is gekoppeld aan een specifieke locatie in een PDF-document. Wanneer gesloten, wordt de annotatie weergegeven als een pictogram; wanneer geopend, moet er een pop-upvenster worden weergegeven met de notitietekst in het lettertype en de grootte die door de lezer zijn gekozen. Om de tekstannotatie toe te voegen, moeten we de PostPageTextAnnotation API gebruiken. Gebruik de volgende cURL-opdracht om tekstannotatie toe te voegen met het notitiepictogram.

 curl -X POST "https://api.aspose.cloud/v3.0/pdf/PdfWithBookmarks.pdf/pages/1/annotations/text" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-H  "Content-Type: application/json" \
-d "[{  \"Color\": {  \"A\": 0, \"R\": 0xDA,  \"G\": 0xA5, \"B\": 0x20    },  \"Contents\": \"Hello World \",  \"Modified\": \"05/26/2021 03:10:00.000 PM\",    \"Id\": \"1\",    \"Flags\": [      \"Default\"    ],    \"Name\": \"string\",    \"Rect\": {      \"LLX\": 100,      \"LLY\": 800,      \"URX\": 100,      \"URY\": 100    },    \"PageIndex\": 1,    \"ZIndex\": 1,    \"HorizontalAlignment\": \"Center\",    \"VerticalAlignment\": \"Center\",    \"CreationDate\": \"string\",    \"Subject\": \"Subject of Annotation\",    \"Title\": \"Annotation Title\",    \"RichText\": \"string\",    \"State\": \"Undefined\",    \"Open\": true,    \"Icon\": \"Note\"  }]"
Tekstannotatie in PDF

Afbeelding 1: - Tekstannotatie met notitiepictogram in PDF-bestand.

De voorbeeld-PDF-bestanden die in het bovenstaande voorbeeld zijn gebruikt, kunnen via de volgende links worden gedownload

Polylijn-annotatie

De Polyline-annotaties worden gebruikt om handmatig polylijnen op een pagina te tekenen. Ze kunnen een willekeurig aantal zijden bevatten die worden gedefinieerd door de polyline-vertices. Polyline-annotaties met transparante opvulkleur kunnen alleen rond hun zichtbare lijnen worden geselecteerd. De Polyline-annotaties kunnen ook worden toegevoegd met behulp van de PostPagePolyLineAnnotations API.

curl -X POST "https://api.aspose.cloud/v3.0/pdf/PdfWithTable.pdf/pages/1/annotations/polyline" \
-H  "accept: application/json" \
-H  "authorization: Bearer " \
-H  "Content-Type: application/json" \
-d "[  {       \"Color\": {      \"A\": 0,      \"R\": 122,      \"G\": 132,      \"B\": 255    },    \"Contents\": \"Hello World...\",    \"Modified\": \"05/26/2021 03:10:00.000 PM\",    \"Id\": \"1\",    \"Flags\": [      \"Default\"    ],    \"Name\": \"Polyline\",    \"Rect\": {      \"LLX\": 100,      \"LLY\": 200,      \"URX\": 150,      \"URY\": 250    },    \"PageIndex\": 1,    \"ZIndex\": 1,    \"HorizontalAlignment\": \"Center\",    \"VerticalAlignment\": \"Center\",    \"CreationDate\": \"05/26/2021 03:10:00.000 PM\",    \"Subject\": \"Subject of Annotation\",    \"Title\": \"Title of Annotation\",    \"RichText\": \"<?xml version=\\\"1.0\\\"?><body xmlns=\\\"http://www.w3.org/1999/xhtml\\\" xmlns:xfa=\\\"http://www.xfa.org/schema/xfa-data/1.0/\\\" xfa:APIVersion=\\\"Acrobat:7.0.0\\\" xfa:spec=\\\"2.0.2\\\" ><span style=\\\"text-decoration:;font-size:10.0pt\\\">Contents</span></body>\",    \"InteriorColor\": {      \"A\": 255,      \"R\": 120,      \"G\": 110,      \"B\": 255    },    \"StartingStyle\": \"Circle\",    \"EndingStyle\": \"OpenArrow\",    \"Intent\": \"PolyLineDimension\",    \"Vertices\": [      {            \"X\": 164.611,            \"Y\": 499.629          },          {            \"X\": 192.858,            \"Y\": 509.857          },          {            \"X\": 226.461,            \"Y\": 493.785          }    ]  }]"

Kronkelige annotatie

annotpdf - npm

De kronkelige of gekartelde onderstreepte annotaties helpen om de informatie in het document te markeren. Ze kunnen worden toegevoegd met behulp van PostPageSquigglyAnnotations API. De onderstaande opdracht helpt u om kronkelige annotaties toe te voegen aan het PDF-document.

curl -X POST "https://api.aspose.cloud/v3.0/pdf/PdfWithTable.pdf/pages/1/annotations/squiggly" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-H  "Content-Type: application/json" \
-d "[  {    \"Color\": {      \"A\": 255,      \"R\": 120,      \"G\": 123,      \"B\": 150    },    \"Contents\": \"A squiggly Annotation\",    \"Modified\": \"05/26/2021 03:10:00.000 PM\",    \"Id\": \"1\",    \"Flags\": [      \"Default\"    ],    \"Name\": \"First Annotation\",    \"Rect\": {      \"LLX\": 100,      \"LLY\": 300,      \"URX\": 120,      \"URY\": 330    },    \"PageIndex\": 1,    \"ZIndex\": 1,    \"HorizontalAlignment\": \"Center\",    \"VerticalAlignment\": \"Center\",    \"CreationDate\": \"05/26/2021 03:10:00.000 PM\",    \"Subject\": \"Subject \",    \"Title\": \"Title of Squiggly\",     \"Starting\": {      \"X\": 162.663,      \"Y\": 654.5    },    \"StartingStyle\": \"Circle\",    \"Ending\": {      \"X\": 230.845,      \"Y\": 654.5    },    \"EndingStyle\": \"OpenArrow\",    \"InteriorColor\": {      \"A\": 255,      \"R\": 220,      \"G\": 220,      \"B\": 220    },    \"LeaderLine\": 10,    \"LeaderLineExtension\": 5,    \"LeaderLineOffset\": 2.5,    \"ShowCaption\": true,    \"CaptionOffset\": {      \"X\": 7,      \"Y\": 8    },    \"CaptionPosition\": \"Top\",    \"Intent\": \"LineArrow\",\"RichText\": \"string\",    \"QuadPoints\": [      {        \"X\": 100,        \"Y\": 200      }    ]  }]"

Bijlage-annotatie

Verschillende bestanden kunnen worden toegevoegd als Attachment-annotaties aan het PDF-document en om aan deze vereiste te voldoen, kan de PostPageFileAttachmentAnnotations API worden gebruikt. Voer de volgende cURL-opdracht uit om een bestaand bestand aan het PDF-document toe te voegen. In ons voorbeeld wordt het bestand met de naam PdfWithTable.pdf (al beschikbaar op cloudopslag) gebruikt als een bijlage.

curl -X POST "https://api.aspose.cloud/v3.0/pdf/PdfWithBookmarks.pdf/pages/1/annotations/fileattachment" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-H  "Content-Type: application/json" \
 -d "[  {       \"Color\": {      \"A\": 255,      \"R\": 120,      \"G\": 120,      \"B\": 120    },    \"Contents\": \"Content\",    \"Modified\": \"05/26/2021 03:10:00.000 PM\",    \"Id\": \"1\",    \"Flags\": [      \"Default\"    ],    \"Name\": \"FileAttachment\",    \"Rect\": {      \"LLX\": 100,      \"LLY\": 200,      \"URX\": 120,      \"URY\": 2200    },    \"PageIndex\": 1,    \"ZIndex\": 0,    \"HorizontalAlignment\": \"Center\",    \"VerticalAlignment\": \"Top\",    \"CreationDate\": \"05/26/2021 03:10:00.000 PM\",    \"Subject\": \"Subject\",    \"Title\": \"Title\",    \"RichText\": \"string\",    \"Icon\": \"PushPin\",    \"Opacity\": 0,    \"FileDescription\": \"string\",    \"FileName\": \"PdfWithTable.pdf\",    \"FilePath\": \"PdfWithTable.pdf\"  }]"

Annotaties toevoegen met Java

Naast cURL-opdrachten is een andere benadering van het gebruik van onze Cloud API’s om ze te benaderen via programmeer-SDK’s. We hebben de programmeer-SDK’s ontwikkeld voor populaire programmeertalen. Dus om met annotaties in PDF te werken met behulp van Java-taal, probeer dan Aspose.PDF Cloud SDK voor Java.

De eerste stap is om de SKD op het systeem te installeren. De Cloud SDK is beschikbaar om te downloaden via Maven en GitHub. Voeg nu de volgende details toe aan uw pom.xml-bestand om Aspose.Pdf.jar te downloaden en te gebruiken in uw Maven-buildproject.

<repositories>
 <repository>
        <id>aspose-cloud</id>
        <name>artifact.aspose-cloud-releases</name>
        <url>https://artifact.aspose.cloud/repo</url>
    </repository>   
</repositories>
<dependencies>
 <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-pdf-cloud</artifactId>
        <version>21.1.0</version>
        <scope>compile</scope>
    </dependency>
 </dependencies>

Voor meer informatie, bezoek Hoe installeer ik Aspose.Cloud SDK’s.

Tekstannotaties

Hieronder vindt u de stappen voor het toevoegen van tekstannotaties aan PDF-documenten.

  • De eerste stap is het maken van een PdfApi-object waarin we ClientID en ClientSecret als argumenten opgeven
  • Vervolgens maken we het Rectangle-object waar de annotatie aan wordt toegevoegd
    • LLX - X-coördinaat van de linkeronderhoek.
    • LLY - Y - coördinaat van de linker benedenhoek.
    • URY - X - coördinaat van de rechterbovenhoek.
    • URY - Y - coördinaat van de rechterbovenhoek.
  • Maak een TextAnnotation-object waarin we de uitlijning definiëren met de setHorizontalAlignment(..)-methode. Stel het onderwerp in met de setSubject(…)-methode, de standaardstatus met de setState(…)-methode, etc.
  • Maak vervolgens het object van ArrayList<> van het type TextAnnotation en voeg het hierboven gemaakte TextAnnotation-object eraan toe
  • Roep ten slotte postPageTextAnnotations(…) aan, waarbij we de invoer-PDF-bestandsnaam, PageNumber en de hierboven gemaakte Annotations ArrayList als argumenten doorgeven
// Haal ClientID en ClientSecret op van https://dashboard.aspose.cloud/
String clientId = "7042694c-5251-4aba-83c9-e81e7518724f";
String clientSecret = "db246d4742e8cd22e7266c9391992689";
				
// createPdfApi-instantie
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// invoer PDF-document
String name = "PdfWithTable.pdf";	        
			    
// Laad het bestand van het lokale systeem
File file = new File("/Users/nayyershahbaz/Downloads/" + name);
// upload het bestand naar de cloudopslag
FilesUploadResult uploadResponse = pdfApi.uploadFile(name, file, null);
				
// paginanummer waar de annotatie moet worden toegevoegd
int pageNumber = 1;

// Maak een rechthoekobject waar een annotatie aan wordt toegevoegd
Rectangle rect = new Rectangle()
    .LLX(100.)
    .LLY(600.)
    .URX(200.)
    .URY(650.);

// Maak een lijst met annotatievlaggen
List<AnnotationFlags> flags = new ArrayList<>();
flags.add(AnnotationFlags.DEFAULT);

// Maak een TextAnnotation-object
TextAnnotation textAnnotation = new TextAnnotation();
textAnnotation.setName("Annotation Name");
textAnnotation.setRect(rect);
textAnnotation.setFlags(flags);
textAnnotation.setHorizontalAlignment(HorizontalAlignment.CENTER);

// stel de inhoud in die moet worden weergegeven in Annotatie
textAnnotation.contents("Hello World...");
// Stel het pictogram voor annotatie in
textAnnotation.icon(TextIcon.KEY);

textAnnotation.setSubject("Text Box Subj");
textAnnotation.setZindex(1);

// de standaardstatus van het annotatieobject
textAnnotation.setState(AnnotationState.COMPLETED);
		        
// maak ListArray van TextAnnotation
List<TextAnnotation> annotations = new ArrayList<>();

// voeg de hierboven gemaakte TextAnnotation toe aan de lijstinstantie
annotations.add(textAnnotation);

// roep de methode aan om annotaties toe te voegen aan een PDF-bestand
AsposeResponse response = pdfApi.postPageTextAnnotations(name, pageNumber, annotations, null, null);
assertEquals(200, (int)response.getCode());

Polylijn-annotaties

De Cloud SDK biedt ook dezelfde mogelijkheden om Polyline Annotations toe te voegen aan een PDF-document. Hieronder staan de stappen en het codefragment om aan deze vereiste te voldoen.

  • Eerst moeten we een PdfApi-exemplaar maken en het bronbestand uploaden naar de cloudopslag.
  • Maak een ArrayList van het type Point die de punten definieert waarop de polylijnen worden getekend.
  • De volgende stap is het maken van een PolyLineAnnotation-object waarin we het rechthoekige gebied definiëren en Points ListArray doorgeven aan de setVertices(…)-methode.
  • Om de binnenkleur in te stellen, gebruikt u de methode setInteriorColor(…) en geeft u de instantie Color door als argument.
  • Roep nu de startingStyle(…) en endingStyle(…) methoden aan om de begin- en eindstijl van annotatie te definiëren. Deze methoden nemen waarde van LineEnding-enumeratie als argumenten.
  • Roep ten slotte de postPagePolyLineAnnotations(…) -methode van de PdfApi-klasse aan om Annotation in het PDF-document weer te geven.
// Haal ClientID en ClientSecret op van https://dashboard.aspose.cloud/
String clientId = "a41d01ef-dfd5-4e02-ad29-bd85fe41e3e4";
String clientSecret = "d87269aade6a46cdc295b711e26809af";
				
// createPdfApi-instantie
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// invoer PDF-document
String name = "PdfWithTable.pdf";	        
			    
// Laad het bestand van het lokale systeem
File file = new File("/Users/nayyershahbaz/Downloads/" + name);
// upload het bestand naar de cloudopslag
FilesUploadResult uploadResponse = pdfApi.uploadFile(name, file, null);
				
// paginanummer voor invoerbestand waar annotaties worden toegevoegd
int pageNumber = 1;

// rechthoekig gebied voor de annotatie
Rectangle rect = new Rectangle()
    .LLX(100.)
    .LLY(600.)
    .URX(200.)
    .URY(650.);

// geef de hoekpunten voor de annnotatie op
List<Point> vertices = new ArrayList();
vertices.add(new Point().X(10.).Y(10.));
vertices.add(new Point().X(20.).Y(10.));
vertices.add(new Point().X(10.).Y(20.));
vertices.add(new Point().X(10.).Y(10.));

List<AnnotationFlags> flags = new ArrayList<>();
flags.add(AnnotationFlags.DEFAULT);

// PolyLineAnnotation-object maken
PolyLineAnnotation annotation = new PolyLineAnnotation();
annotation.setName("Name");
annotation.setRect(rect);
annotation.setFlags(flags);
// de horizontale uitlijning van de annotatie instellen
annotation.setHorizontalAlignment(HorizontalAlignment.CENTER);
annotation.contents("Rich Text in the PDF File...");
annotation.setSubject("Subj");
annotation.setZindex(1);
annotation.setTitle("Title");

// kleurobject maken
Color color = new Color();
color.setA(255);
color.setR(120);
color.setG(140);
color.setB(130);

// stel de interne kleur in voor het annotatie-exemplaar
annotation.setInteriorColor(color);
		        
annotation.setVertices(vertices);
// Geef de beginstijl voor annotatie op
annotation.startingStyle(LineEnding.OPENARROW);

// stel de eindstijl voor annotatie in
annotation.endingStyle(LineEnding.SQUARE);

List<PolyLineAnnotation> annotations = new ArrayList<>();
annotations.add(annotation);
		        
// roep de methode aan om Polyline Annotation toe te voegen aan de eerste pagina van het document
AsposeResponse response = pdfApi.postPagePolyLineAnnotations(name, pageNumber, annotations, null, null);
assertEquals(200, (int)response.getCode());

Kronkelige aantekeningen

Een aparte klasse genaamd SquigglyAnnotation wordt gebruikt om Squiggly-annotaties toe te voegen aan het PDF-document. Het onderstaande codefragment kan worden gebruikt om Squiggly-annotaties toe te voegen aan het PDF-bestand dat beschikbaar is op Cloud-opslag.

// Haal ClientID en ClientSecret op van https://dashboard.aspose.cloud/
String clientId = "a41d01ef-dfd5-4e02-ad29-bd85fe41e3e4";
String clientSecret = "d87269aade6a46cdc295b711e26809af";
				
// createPdfApi-instantie
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// invoer PDF-document
String name = "PdfWithTable.pdf";	        
			    
// Laad het bestand van het lokale systeem
File file = new File("/Users/nayyershahbaz/Downloads/" + name);
// upload het bestand naar de cloudopslag
FilesUploadResult uploadResponse = pdfApi.uploadFile(name, file, null);
				
// paginanummer voor invoerbestand waar annotatie zal worden toegevoegd
int pageNumber = 1;

// rechthoekig gebied voor de annotatie
Rectangle rect = new Rectangle()
    .LLX(100.)
    .LLY(600.)
    .URX(200.)
    .URY(650.);

// geef de hoekpunten voor de annotatie op
List<Point> vertices = new ArrayList();
vertices.add(new Point().X(10.).Y(10.));
vertices.add(new Point().X(20.).Y(10.));
vertices.add(new Point().X(10.).Y(20.));
vertices.add(new Point().X(10.).Y(10.));

List<AnnotationFlags> flags = new ArrayList<>();
flags.add(AnnotationFlags.DEFAULT);

// maak SquigglyAnnotation-object
SquigglyAnnotation annotation = new SquigglyAnnotation();
annotation.setName("Name");
annotation.setRect(rect);
annotation.setFlags(flags);
annotation.setHorizontalAlignment(HorizontalAlignment.CENTER);
annotation.contents("Rich Text in the PDF File...");
annotation.setSubject("Subj");
annotation.setZindex(1);
annotation.setTitle("Title");
annotation.setModified("28/05/2021 00:00:00.000 AM");
		        
// kleurobject maken
Color color = new Color();
color.setA(155);
color.setR(120);
color.setG(140);
color.setB(130);

// stel de interne kleur in voor het annotatie-exemplaar
annotation.color(color);

// annotatiepunten instellen		        
annotation.setQuadPoints(vertices);

List<SquigglyAnnotation> annotations = new ArrayList<>();
annotations.add(annotation);
		        
// roep de methode aan om Squiggly Annotation toe te voegen aan de eerste pagina van het document
AsposeResponse response = pdfApi.postPageSquigglyAnnotations(name, pageNumber, annotations, null, null);
assertEquals(200, (int)response.getCode());

Annotaties bij bestandsbijlagen

Om de bestandsbijlage-annotatie toe te voegen, kunt u het volgende codefragment proberen. De codebeschrijving is hetzelfde als die in de bovenstaande secties, behalve dat u het FileAttachmentAnnotation-object moet gebruiken om aan deze vereiste te voldoen.

// Haal ClientID en ClientSecret op van https://dashboard.aspose.cloud/
String clientId = "a41d01ef-dfd5-4e02-ad29-bd85fe41e3e4";
String clientSecret = "d87269aade6a46cdc295b711e26809af";
				
// createPdfApi-instantie
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// invoer PDF-document
String name = "PdfWithTable.pdf";	        
			    
// Laad het bestand van het lokale systeem
File file = new File("/Users/nayyershahbaz/Downloads/" + name);
// upload het bestand naar de cloudopslag
FilesUploadResult uploadResponse = pdfApi.uploadFile(name, file, null);
				
// paginanummer voor invoerbestand waar annotatie zal worden toegevoegd
int pageNumber = 1;

// rechthoekig gebied voor de annotatie
Rectangle rect = new Rectangle()
    .LLX(100.)
    .LLY(100.)
    .URX(200.)
    .URY(200.);

List<AnnotationFlags> flags = new ArrayList<>();
flags.add(AnnotationFlags.DEFAULT);

// maak FileAttachmentAnnotation-object
FileAttachmentAnnotation annotation = new FileAttachmentAnnotation();
annotation.setName("Name");
annotation.setRect(rect);
annotation.setFlags(flags);
annotation.setHorizontalAlignment(HorizontalAlignment.CENTER);
annotation.contents("Rich Text in the PDF File...");
annotation.setSubject("Subj");
annotation.setZindex(1);
annotation.setTitle("Title");
annotation.setModified("28/05/2021 00:00:00.000 AM");
		        
// pad van bijlagebestand
annotation.setFilePath("images.jpeg");
// bijlage bestandsnaam
annotation.setFileName("images.jpeg");

// Maak een lijstexemplaar van FileAttachment
List<FileAttachmentAnnotation> annotations = new ArrayList<>();
annotations.add(annotation);
		        
// roep de methode aan om FileAttachment Annotation toe te voegen aan de eerste pagina van het document
AsposeResponse response = pdfApi.postPageFileAttachmentAnnotations(name, pageNumber, annotations, null, null);
assertEquals(200, (int)response.getCode());

Conclusie

In dit artikel hebben we de stappen en gerelateerde details besproken voor het toevoegen van tekst-, polylijn-, squiggly- en fileattachment-annotaties aan het PDF-document. Omdat onze Cloud SDK’s open source zijn, kunt u de volledige broncode downloaden van GitHub. De repository bevat ook andere nuttige voorbeelden over hoe u de Java Cloud SDK kunt gebruiken om bestaande PDF-bestanden te maken en te bewerken. Mocht u gerelateerde vragen hebben, neem dan gerust contact met ons op via Free customer support forums.

Gerelateerde artikelen

Wij raden u ten zeerste aan de volgende artikelen te lezen: