diff --git a/src/main/java/NTNU/IDATT1002/controllers/ViewAlbum.java b/src/main/java/NTNU/IDATT1002/controllers/ViewAlbum.java
index 4fbc5bbe0a4a7bcdd3eb2d3b544beef2ae19f492..f30c50d1ae7f0534fce2885affa53236f3c29d57 100644
--- a/src/main/java/NTNU/IDATT1002/controllers/ViewAlbum.java
+++ b/src/main/java/NTNU/IDATT1002/controllers/ViewAlbum.java
@@ -4,7 +4,7 @@ import NTNU.IDATT1002.App;
 import NTNU.IDATT1002.models.ImageAlbum;
 import NTNU.IDATT1002.service.ImageAlbumService;
 import NTNU.IDATT1002.service.TagService;
-import NTNU.IDATT1002.utils.PdfDocument;
+import NTNU.IDATT1002.service.PdfDocument;
 import javafx.application.HostServices;
 import javafx.event.ActionEvent;
 import javafx.fxml.FXML;
@@ -18,8 +18,6 @@ import javafx.scene.layout.Pane;
 import javafx.scene.shape.StrokeType;
 import javafx.scene.text.Font;
 import javafx.scene.text.Text;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import javax.persistence.EntityManager;
 import java.io.File;
@@ -70,13 +68,11 @@ public class ViewAlbum implements Initializable {
 
     private ImageAlbumService imageAlbumService;
     private Long currentAlbumId;
-    private Logger logger;
-    
+
     public ViewAlbum() {
         EntityManager entityManager = App.ex.getEntityManager();
         this.imageAlbumService =  new ImageAlbumService(entityManager);
         currentAlbumId = App.ex.getChosenAlbumId();
-        logger = LoggerFactory.getLogger("ImageApplicationLogger");
     }
 
     /**
@@ -378,16 +374,7 @@ public class ViewAlbum implements Initializable {
      */
     public void createPdf(ActionEvent actionEvent) {
         Long currentAlbumId = App.ex.getChosenAlbumId();
-        ImageAlbum imageAlbum = imageAlbumService.getImageAlbumById(currentAlbumId)
-                .orElseThrow(IllegalArgumentException::new);
-
-        String destinationFile = String.format("%s/downloads/%s.pdf",
-                System.getProperty("user.home"),
-                imageAlbum.getTitle());
-
-        PdfDocument document = new PdfDocument(imageAlbum, destinationFile);
-        document.createPdfDocument();
-        logger.info("[x] Saved PDF document to " + destinationFile);
+        PdfDocument document = imageAlbumService.getPdfDocument(currentAlbumId);
 
         displayPdfLink(document.getPdfDocument());
     }
diff --git a/src/main/java/NTNU/IDATT1002/service/ImageAlbumService.java b/src/main/java/NTNU/IDATT1002/service/ImageAlbumService.java
index d5b5cd0ee9bb746561cc8ea71038769a64393dfc..dfe03323bc7da5b5fc3bffc3f7d19caa759cfd77 100644
--- a/src/main/java/NTNU/IDATT1002/service/ImageAlbumService.java
+++ b/src/main/java/NTNU/IDATT1002/service/ImageAlbumService.java
@@ -7,6 +7,8 @@ import NTNU.IDATT1002.models.Tag;
 import NTNU.IDATT1002.models.User;
 import NTNU.IDATT1002.repository.ImageAlbumRepository;
 import NTNU.IDATT1002.repository.TagRepository;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import javax.persistence.EntityManager;
 import java.util.ArrayList;
@@ -30,6 +32,7 @@ public class ImageAlbumService {
 
     private TagRepository tagRepository;
 
+    private Logger logger;
 
     /**
      * Inject entity manager instance to the repositories.
@@ -37,6 +40,7 @@ public class ImageAlbumService {
     public ImageAlbumService(EntityManager entityManager) {
         this.imageAlbumRepository = new ImageAlbumRepository(entityManager);
         this.tagRepository = new TagRepository(entityManager);
+        logger = LoggerFactory.getLogger("ImageApplicationLogger");
     }
 
     public Optional<ImageAlbum> getImageAlbumById(Long imageAlbumId) {
@@ -103,6 +107,21 @@ public class ImageAlbumService {
     }
 
 
+    public PdfDocument getPdfDocument(Long currentAlbumId) {
+        ImageAlbum imageAlbum = getImageAlbumById(currentAlbumId)
+                .orElseThrow(IllegalArgumentException::new);
+
+        String destinationFile = String.format("%s/downloads/%s.pdf",
+                System.getProperty("user.home"),
+                imageAlbum.getTitle());
+
+        PdfDocument document = new PdfDocument(imageAlbum, destinationFile);
+        document.createPdfDocument();
+        logger.info("[x] Saved PDF document to " + destinationFile);
+
+        return document;
+    }
+
     /**
      * Retrieves all image albums created by the given user by username.
      *
diff --git a/src/main/java/NTNU/IDATT1002/utils/PdfDocument.java b/src/main/java/NTNU/IDATT1002/service/PdfDocument.java
similarity index 99%
rename from src/main/java/NTNU/IDATT1002/utils/PdfDocument.java
rename to src/main/java/NTNU/IDATT1002/service/PdfDocument.java
index f407ecd68061d80721f80d2fc8110ec93267484b..efb1e398a724395237d7e143bf8de75e15cf7651 100644
--- a/src/main/java/NTNU/IDATT1002/utils/PdfDocument.java
+++ b/src/main/java/NTNU/IDATT1002/service/PdfDocument.java
@@ -1,4 +1,4 @@
-package NTNU.IDATT1002.utils;
+package NTNU.IDATT1002.service;
 
 import NTNU.IDATT1002.models.Image;
 import NTNU.IDATT1002.models.ImageAlbum;
diff --git a/src/test/java/NTNU/IDATT1002/utils/PdfDocumentTest.java b/src/test/java/NTNU/IDATT1002/utils/PdfDocumentTest.java
index 54bbfdaad68bb33c25ce0d97f585abca1552208a..f932493e8b942982ead1227eec4e61c17c5a17af 100644
--- a/src/test/java/NTNU/IDATT1002/utils/PdfDocumentTest.java
+++ b/src/test/java/NTNU/IDATT1002/utils/PdfDocumentTest.java
@@ -3,6 +3,7 @@ package NTNU.IDATT1002.utils;
 import NTNU.IDATT1002.models.Image;
 import NTNU.IDATT1002.models.ImageAlbum;
 import NTNU.IDATT1002.models.User;
+import NTNU.IDATT1002.service.PdfDocument;
 import org.junit.jupiter.api.AfterAll;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;