자주 묻는 질문

Microsoft Print to PDF 용지 추가

CULOV STUDIO 2024. 7. 12. 15:04

설명 요약

Microsoft Print to PDF의 용지를 새로 추가하려면,

1) 설정 파일 경로 확인

2) 설정 파일 편집

3) 사용자 정의 용지 추가

과정이 필요합니다.

일러두기

PDF 가상 인쇄 방식(Microsoft Print to PDF, Adobe PDF Print 등)은 문서를 변환할 때 자동으로 용지 크기를 맞춰주지 않습니다. 이 과정에서 용지 크기를 수동 설정하는 경우, 기본 용지 목록에 필요한 크기가 있으면 문제는 간단하겠지만, 목록에 없는 경우 수동으로 새 규격을 추가해줘야 합니다.

▽ Microsoft Print to PDF의 기본 용지 목록

 

▽ '문서 용지 규격'과 '프린터 용지 규격'이 서로 일치하지 않을 때 발생하는 여백 예시

※ 인쇄 설정(맞춤, 채우기 등)에 따라 여백이 남지 않고 가장자리가 잘린 결과가 나올 수도 있습니다.

이때 사용자들이 흔히 부딪히는 문제는 Adobe PDF Print 방식은 새 용지 추가가 간단한데, Microsoft Print to PDF 방식은 기본적으로 새 용지 추가가 막혀있다는 것입니다. 이 게시글은 이런 기본 설정을 우회해 사용자 용지 규격을 수동으로 추가하는 과정을 설명합니다.

 

▽ Adobe PDF Print 용지 추가 사례

 

Adobe PDF 프린터 여백 생김 - 파워포인트(PPT)

질문 사례 "PPT 파일을 Adobe PDF 프린터로 변환하는데 만들어진 PDF를 보면 없던 여백이 ...

blog.naver.com

 

⚠️ 다음 내용은 일반 사용자에게 권장하지 않으며, 일부 사용 환경에선 계정 권한 문제로 도중에 막힐 수도 있습니다. 따라서 이런 문제점들을 충분히 이해했고, 문제 발생시 감수 및 대처 가능한 사용자에 한해 설정 변경을 권합니다.


 

프린터 설정 파일 찾기

1. 레지스트리 편집기 실행

1) 실행 창 : Win+R

2) 레지스트리 편집기 실행 : regedit

2. 가상 프린터 위치 확인, 설정 폴더 이동

1) 레지스트리 편집기에서 다음 경로로 이동합니다.

컴퓨터\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers\Microsoft Print to PDF

2) PrintQueueV4DriverDirectory 항목의 데이터 값을 확인합니다.

3) 탐색기에서 다음 경로로 이동합니다.

C:\Windows\System32\spool\V4Dirs

4) PrintQueueV4DriverDirectory 데이터 값과 동일한 이름의 폴더를 찾아 들어갑니다.

3. 설정 파일 찾기, 백업

1) *.BUD 파일 이름과 동일한 이름의 .GPD 파일을 찾습니다.

2) GPD 파일을 복사해, 복구용 사본을 하나 보관해둡니다.

※ 설정 폴더 찾기 및 백업본 생성 PowerShell 스크립트는 게시글 하단 부가 설명 참조

프린터 설정 파일 편집

1. 설정 파일 복사, 열기

1) 작업 폴더(예: 문서 폴더)에 GPD 파일 원본을 복사합니다.

2) 작업 폴더에 복사한 GPD 파일 우클릭 - 연결 프로그램 - 메모장을 실행합니다.

2. 설정 파일 내용 수정

1) 찾기(Ctrl + F)를 실행하고 다음 줄을 찾습니다.

*DefaultOption: LETTER

2) 바로 아랫줄에 다음 코드를 복사/붙여넣기하고 저장합니다.

*Option: CUSTOMSIZE
{
*rcNameID: =USER_DEFINED_SIZE_DISPLAY
*MinSize: PAIR(457200, 457200)
*MaxSize: PAIR(164592000, 164592000)
*MaxPrintableWidth: 164592000
}

3. 수정사항 반영

수정한 GPD 파일을 원본 폴더로 복사/붙여넣기해서 덮어씁니다.

사용자 정의 용지 추가

1. 인쇄 서버 속성 실행

실행 창에 다음 내용을 입력/실행하거나,

rundll32 printui.dll,PrintUIEntry /s /t0

[Win10] 설정 - 프린터 및 스캐너 - 인쇄 서버 속성을 클릭합니다.

[Win11] 화면 하단 인쇄 서버 속성을 클릭합니다.

2. 새 양식 만들기

1) 새 양식 만들기 : 체크

2) 양식 이름 : 알맞게

3) 너비/높이 : 긴 방향을 높이로 설정

4) [확인] 합니다.

 

▽ PPT 와이드스크린 규격 예시

문서 변환 및 확인

1. 인쇄 설정

1) 인쇄 화면에서 Microsoft Print to PDF 프린터를 선택합니다.

2) 프린터 속성 - 고급

3) 용지 크기 : 새로 추가한 용지

4) 확인, 인쇄합니다.

2. 인쇄 결과 확인

PDF 변환 결과 예시입니다. 애크로뱃은 화면 좌측 하단에서 용지 크기 확인이 가능합니다.

 

※ 애크로뱃에서 용지 크기를 확인하는 자세한 방법은 다음 링크를 참조합니다.

 

PDF 용지 크기 확인 - 애크로뱃

앱 화면 좌측 하단으로 마우스 커서를 가져가면 문서 페이지 크기 정보가 표시됩니다. 또는 페이지 축소판 ...

blog.naver.com

 

부가 설명

설정 폴더 찾기 및 백업본 생성 - 파워셸

# Get the registry value
$temp = Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers\Microsoft Print to PDF' -Name 'PrintQueueV4DriverDirectory' | Select-Object -ExpandProperty PrintQueueV4DriverDirectory

# Check if the value exists and build the folder path
if ($temp) {
  $folderPath = "C:\Windows\System32\spool\V4Dirs\$temp"

  # Find .bud file
  $budFile = Get-ChildItem -Path $folderPath -Filter "*.bud"

  if ($budFile) {
    # Extract filename without extension
    $fileName = $budFile.Name.Split('.')[0]

    # Find matching .gpd files in source folder
    $sourceGpdFiles = Get-ChildItem -Path $folderPath -Filter "*.gpd" | Where-Object { $_.Name -match "^$fileName\." }

    if ($sourceGpdFiles) {
      # Destination folder path with user profile
      $destinationPath = "$env:USERPROFILE\Documents\New gpd"

      if (Test-Path $destinationPath) {
        # Remove existing folder (silently to avoid errors if empty)
        Remove-Item -Path $destinationPath -ErrorAction SilentlyContinue
      }

      # Create the folder
      New-Item -ItemType Directory -Path $destinationPath

      # Copy the filtered files to the destination path
      Copy-Item -Path $sourceGpdFiles.FullName -Destination $destinationPath -Force

      # Find existing .gpd file in destination folder
      $destinationGpd = Get-ChildItem -Path $destinationPath -Filter "*.gpd" | Where-Object { $_.Name -match "^$($fileName)\." }

      if ($destinationGpd) {
        # Existing file found, copy with _copy suffix
        $copiedName = "$($destinationGpd.Name.Split('.')[0])_copy.gpd"
        Copy-Item -Path $destinationGpd.FullName -Destination "$destinationPath\$copiedName" -Force

        # Open destination folder
        Start-Process $destinationPath -Verb Open
	      Write-Host "Copied '$sourceGpdFiles' to '$destinationPath\$sourceGpdFiles'."
        Write-Host "Copied '$destinationGpd' to '$destinationPath\$copiedName'."
      } else {
        Write-Host "No matching .gpd file found in '$destinationPath'."
      }
    } else {
      Write-Host "Matching .gpd file not found for '$budFile.Name' in source folder."
    }
  } else {
    Write-Host ".bud file not found in '$folderPath'."
  }

  # Open folder regardless of file operations
  Start-Process $folderPath -Verb Open
} else {
  Write-Host "Registry value 'PrintQueueV4DriverDirectory' not found."
}

 

MSPrintToPDF_AllowCustomSizes.ps1

사이즈 등 일부 코드는 각자 사용 환경에 맞게 수정이 필요합니다.