Compress all PDF files in the current directory and place the output in the
    given output directory. This is a generator function that first yields the amount
    of files to be compressed, and then yields the output path of each file.

    Args:
        source_directory (str): Filepath to the source directory.
        output_directory (str): Filepath to the output directory.
        ghostscript_binary (str): Name of the Ghostscript binary.

    Returns:
        list(str): paths to outputs.

def compress_multiple_pdfs(source_directory, output_directory, ghostscript_binary):
    """Compress all PDF files in the current directory and place the output in the
    given output directory. This is a generator function that first yields the amount
    of files to be compressed, and then yields the output path of each file.

    Args:
        source_directory (str): Filepath to the source directory.
        output_directory (str): Filepath to the output directory.
        ghostscript_binary (str): Name of the Ghostscript binary.

    Returns:
        list(str): paths to outputs.
    """
    source_paths = _get_pdf_filenames_at(source_directory)
    yield len(source_paths)
    for source_path in source_paths:
        output = os.path.join(output_directory, os.path.basename(source_path))
        compress_pdf(source_path, output, ghostscript_binary)
        yield output